<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>web-application &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/web-application/</link>
	<description>Feed of posts on WordPress.com tagged "web-application"</description>
	<pubDate>Mon, 06 Oct 2008 18:19:45 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[LLOOGG web analyzer]]></title>
<link>http://vitantoniomessa.wordpress.com/?p=184</link>
<pubDate>Mon, 06 Oct 2008 07:18:27 +0000</pubDate>
<dc:creator>Vitantonio Messa</dc:creator>
<guid>http://vitantoniomessa.fr.wordpress.com/2008/10/06/lloogg-web-analyzer/</guid>
<description><![CDATA[From their website:
LLOOGG, a service that lets you check who is visiting your site in real time: wh]]></description>
<content:encoded><![CDATA[<p>From their <a href="http://lloogg.com/">website</a>:</p>
<blockquote><p>LLOOGG, a service that lets you check who is visiting your site in <strong>real time</strong>: which pages are being visited, with which operating system and browser, the referrer of each visit</p></blockquote>
<p>You can have a look at a demo of the service from <a href="http://lloogg.com/demo">here</a>, it has been open to public recently and it is developed by an Italian company, <a href="http://merzia.com/">Merzia</a>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Digital Literacy Tool -- Avoid the big F.]]></title>
<link>http://bferrant.wordpress.com/?p=105</link>
<pubDate>Fri, 03 Oct 2008 04:03:19 +0000</pubDate>
<dc:creator>bferrant</dc:creator>
<guid>http://bferrant.fr.wordpress.com/2008/10/03/digital-literacy-tool-avoid-the-big-f/</guid>
<description><![CDATA[According to Mark Bauerlein&#8217;s discussion of Jakob Nielsen&#8217;s research in his Chronicle ar]]></description>
<content:encoded><![CDATA[<p>According to Mark Bauerlein's discussion of Jakob Nielsen's research in his <a href="http://chronicle.com/">Chronicle </a>article "Online Literacy Is a Lesser Kind", people read web-pages in a big "F" pattern. Across the top, down the left side, and a brief foray into the center. I use <a title="Spreeder, online speed reader" href="http://www.spreeder.com/">Spreeder</a> to help me read all the words. Any text you can copy can be dropped in and flashed at you at the speed, grouping size, and text size that you specify.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[What is del.icio.us?]]></title>
<link>http://webarya.wordpress.com/?p=103</link>
<pubDate>Thu, 02 Oct 2008 06:56:13 +0000</pubDate>
<dc:creator>replyarya2u</dc:creator>
<guid>http://webarya.fr.wordpress.com/2008/10/02/what-is-delicious/</guid>
<description><![CDATA[del.icio.us (http://del.icio.us/) is referred to as a social book marking site. It is for storing an]]></description>
<content:encoded><![CDATA[<p>del.icio.us (<a href="http://del.icio.us/">http://del.icio.us/</a>) is referred to as a social book marking site. It is for storing and sharing web bookmarks with other users. The service is completely free and relatively new. del.icio.us first came online in late 2003.</p>
<p>Everything that is posted on del.icio.us is viewable by the public, although you can choose to make specific bookmarks private. Bookmarks are publicly viewable for a purpose. Many people use del.icio.us to publish links to their personal or business blogs. You can use the del.icio.us interface to keep links to your favorite articles, blogs, music etc. You can also share your favorites with anyone who has an e-mail address. del.icio.us also has a search function that allows you to explore what others are book marking, and find other websites that are related to your interests.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Still on cloud computing: Stacey Schneider]]></title>
<link>http://vitantoniomessa.wordpress.com/?p=180</link>
<pubDate>Thu, 02 Oct 2008 06:46:41 +0000</pubDate>
<dc:creator>Vitantonio Messa</dc:creator>
<guid>http://vitantoniomessa.fr.wordpress.com/2008/10/02/still-on-cloud-computing-stacey-schneider/</guid>
<description><![CDATA[The other point of view:
We didn’t do either because they were cool, or for any desire to be some ]]></description>
<content:encoded><![CDATA[<p>The other <a href="http://www.hyperic.com/blog/hyperic/2008/10/01/cloud-computing-definition/">point of view</a>:</p>
<blockquote><p>We didn’t do either because they were cool, or for any desire to be some sort of fashionable IT software company. We did it because it makes sense for our users, and both are an approach to building more affordable, useful, and scalable IT.</p>
<p>Open source is a business model for us to work with our users - they are building modern web-driven applications and need better monitoring and management for these dynamic, custom-built environments. Since they are web-afficianados when they have a problem they consult, that’s right - the web. They do a Google search, they look for how others solved it - and they look for the straightest line to applying the same solutions to their unique situation. They want self-service. They want quick results. Open source lets them download and use the software without unneccesary limits on time, scale or its application. Once our software establishes its value, if there is more opportunity to help them more, we have an educated, successful, in-house champion to help work through the sale. We save a lot on the cost of sales and support this way. The customers in turn save time and money in completing their solution. Open source is way to package our products and services to ease adoption so everyone benefits.</p></blockquote>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Create MVC-model-view-controller component for joomla 1.5 - Hello World]]></title>
<link>http://webarya.wordpress.com/?p=98</link>
<pubDate>Thu, 02 Oct 2008 06:20:23 +0000</pubDate>
<dc:creator>replyarya2u</dc:creator>
<guid>http://webarya.fr.wordpress.com/2008/10/02/create-mvc-model-view-controller-component-for-joomla-15-hello-world/</guid>
<description><![CDATA[Introduction:
I descibed my first &#8220;helloworld component for joomla 1.5 in my previous tutorial]]></description>
<content:encoded><![CDATA[<h1>Introduction:</h1>
<p>I descibed my first "helloworld component for joomla 1.5 in my previous tutorial <a href="http://www.vojtechovsky.net/joomla/component-helloworld-tutorial-guide-en.html">hello world component for joomla 1.5</a> I have got a huge response for joomla developers and I believe some of them were right pointing out  that helloworld should be rewritten to MVC model.</p>
<p>This is very brief introduction. Please refer to these links for thorough explanation.<br />
<a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC on wikipedia</a><br />
<a href="http://www.tonymarston.co.uk/php-mysql/model-view-controller.html">The Model-View-Controller (MVC) Design Pattern for PHP by Tony Marston</a><br />
<a href="http://forum.joomla.org/index.php?topic=136576.0">developers joomla1.5 forum</a></p>
<h1>MVC - model view controller</h1>
<p>MVC is an architectural pattern used in software engineering. In complex computer applications that present lots of data to the user, one often wishes to separate data (model) and user interface (view) concerns, so that changes to the user interface do not impact the data handling, and that the data can be reorganized without changing the user interface. The model-view-controller solves this problem by decoupling data access and business logic from data presentation and user interaction, by introducing an intermediate component: the controller.</p>
<p>After researching various articles on the internet I came up with the following descriptions of the principles of <strong>the Model-View-Controller</strong> design pattern:</p>
<p>The MVC paradigm is a way of breaking an application, or even just a piece of an application's interface, into three parts:  the model, the view, and the controller.</p>
<p>MVC was originally developed to map the traditional input, processing, output roles into the GUI realm:</p>
<p><img src="http://www.vojtechovsky.net/joomla/component/model-view-controller-joomla15-component.png" alt="mvc model controller view joomla15" /></p>
<pre>Input --&#62; Processing --&#62; Output
Controller --&#62; Model --&#62; View</pre>
<h2>Model</h2>
<p>The model is the part of the component that encapsulates the application's data. It will often provide routines to manage and manipulate this data in a meaningful way in addition to routines that retrieve the data from the model. In our case, the model will contain methods to add, remove and update information about the books in the database. It will also contain methods to retrieve the list of books from the database. In general, the underlying data access technique should be encapsulated in the model. In this way, if an application is to be moved from a system that utilizes a flat file to store its information to a system that uses a database, the model is the only element that needs to be changed, not the view or the controller.</p>
<h2>View</h2>
<p>The view is the part of the component that is used to render the data from the model in a manner that is suitable for interaction. For a web-based application, the view would generally be an HTML page that is returned to the data. The view pulls data from the model (which is passed to it from the controller) and feeds the data into a template which is populated and presented to the user. The view does not cause the data to be modified in any way, it only displays data retrieved from the model.</p>
<h2>Controller</h2>
<p>The controller is responsible for responding to user actions. In the case of a web application, a user action is a page request. The controller will determine what request is being made by the user and respond appropriately by triggering the model to manipulate the data appropriately and passing the model into the view. The controller does not display the data in the model, it only triggers methods in the model which modify the data.</p>
<h2>Joomla! MVC Implementation</h2>
<p>In Joomla!, the MVC pattern is implemented using three classes:</p>
<ol>
<li><a title="JModel class reference" href="http://api.joomla.org/Joomla-Framework/Application/JModel.html">JModel</a></li>
<li><a title="JView class reference" href="http://api.joomla.org/Joomla-Framework/Application/JView.html">JView</a></li>
<li>and <a title="JController class reference" href="http://api.joomla.org/Joomla-Framework/Application/JController.html">JController</a></li>
</ol>
<h2>Hello world component</h2>
<h3>a) structure</h3>
<pre>│   com_helloworld.xml (xml - installation source)
│
├───admin                       - (administration folder)
│   │   index.html              - (blank file)
│   │   admin.helloworld.php    - (create controller and hand over the control)
│   │   toolbar.helloworld.php  - (tool bar definition and a 'help' menu item)
│   │   toolbar.helloworld.html.php   - (tool bar definition and a 'help' menu item)
│   │
│   ├───images                  - (here are all picures used in the component)
│   │       helloworld.png
│   │       index.html          - (blank file)
│   │
│   ├───controllers             - (controlers folder)
│   │       default.php         - (default controler      - "default section")
│   │       helloagain.php      - (heloagain controler    - "helloagain section")
│   │       hellotestfoo.php    - (hellotestfoo controler - "helhellotestfooloagain sec.")
│   │       helloworld.php      - (helloworld controler   - "helloworld section")
│   │
│   ├───models                  - (models folder)
│   │       helloworld.php      - (the only model defined here. Currently not in use)
│   │
│   ├───views                   - (views folder)
│   │   ├───default
│   │   │       view.php        - (default view      - "default section")
│   │   │
│   │   ├───helloagain
│   │   │       view.php        - (helloagain view   - "helloagain section")
│   │   │
│   │   ├───hellotestfoo
│   │   │       view.php        - (hellotestfoo view - "hellotestfoo section")
│   │   │
│   │   └───helloworld
│   │           view.php        - (helloworld view   - "helloworld section")
│   │
│   ├───sql                             - (SQL folder. Currently not in use. All sql files)
│   │       uninstall.helloworld.sql      ( are commented out in the installation xml.)
│   │       install.helloworld.sql        ( The reasson is very simple. Joomla! 1.5 has )
│   │                                     ( a minor bug in installation.php. We will need )
│   │                                     ( a "night build" for the next tutorial)
│   │
│   └───lang                            - (language folder)
│           cs-CZ.com_helloworld.ini    - (czech text package)
│           en-GB.com_helloworld.ini    - (english text package)
│
└───component
    │   index.html                      - (blank file)
    │   helloworld.php                  - (core for the frontend application. )
    │                                     ( Prints "hello world".)
    └───lang
            cs-CZ.com_helloworld.ini    - (czech text package)
            en-GB.com_helloworld.ini    - (english text package)</pre>
<h3>b) concept</h3>
<p>We need to rewrite the core of our previous component. It prints "hello world" by accessing methods of class helloScreens in  <strong>admin.helloworld.html.php</strong></p>
<pre> class helloScreens
 {
  function helloworld()
    { echo JText::_('helloworld'); }

  function helloagain()
    { echo JText::_('helloagain'); }

  function hellotestfoo()
    { echo JText::_('hellotestfoo'); }

  function hellodefault()
    { echo JText::_('hellodefault'); }
 }</pre>
<p>All these methods will become stand-alone views. <strong>\views\helloworld\view.php</strong></p>
<pre> class HelloWorldComponentView extends JView
 {

	function display()
	{
	 echo JText::_('helloworld');
	}
 }</pre>
<p>As you can see there is no model instance passing into the view or accessing from the view. Unfortunatelly, there is a minor bug in joomla1.5 beta that prevents us from executing  our sql script in the installation process. We can get around this problem by installing jomla 1.5 "night build" and I will show you how in the next joomla tutorial.</p>
<p><a title="joomla15 free component PDF guide" href="http://www.vojtechovsky.net/joomla/download-joomla15/component-helloworld-tutorial-guide-en.pdf">Download component helloworld - installation PDF</a> <a title="model view controller joomla helloworld component" href="http://www.vojtechovsky.net/joomla/download-joomla15/com_helloworld_mvc.zip">Download component helloworld MVC</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Richard Stallman: cloud computing is a trap]]></title>
<link>http://vitantoniomessa.wordpress.com/?p=175</link>
<pubDate>Tue, 30 Sep 2008 06:59:46 +0000</pubDate>
<dc:creator>Vitantonio Messa</dc:creator>
<guid>http://vitantoniomessa.fr.wordpress.com/2008/09/30/richard-stallman-cloud-computing-is-a-trap/</guid>
<description><![CDATA[An interview from The Guardian:
But Richard Stallman, founder of the Free Software Foundation and cr]]></description>
<content:encoded><![CDATA[<p>An interview from <a href="http://www.guardian.co.uk/technology/2008/sep/29/cloud.computing.richard.stallman">The Guardian</a>:</p>
<blockquote><p>But Richard Stallman, founder of the Free Software Foundation and creator of the computer operating system GNU, said that cloud computing was simply a trap aimed at forcing more people to buy into locked, proprietary systems that would cost them more and more over time.</p>
<p>"It's stupidity. It's worse than stupidity: it's a marketing hype campaign," he told The Guardian.</p>
<p>"Somebody is saying this is inevitable – and whenever you hear somebody saying that, it's very likely to be a set of businesses campaigning to make it true."</p>
<p>...</p>
<p>"One reason you should not use web applications to do your computing is that you lose control," he said. "It's just as bad as using a proprietary program. Do your own computing on your own computer with your copy of a freedom-respecting program. If you use a proprietary program or somebody else's web server, you're defenceless. You're putty in the hands of whoever developed that software."</p></blockquote>
<p>As usual, Stallman <span style="cursor:pointer;"><span class="sg"><span class="se1"><span class="trn">exaggerates </span></span></span></span>"a bit" (but makes people think about problems): as everything else in life, the truth is in the middle. Using web services without knowing what you're doing, that's bad. But if you know the upsides as well as the downsides, then it's just a matter of choice.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Load Testing - Proof (Using Little's Law)]]></title>
<link>http://aurelelobof.wordpress.com/?p=89</link>
<pubDate>Tue, 30 Sep 2008 04:37:59 +0000</pubDate>
<dc:creator>aurelelobof</dc:creator>
<guid>http://aurelelobof.fr.wordpress.com/2008/09/30/load-testing-proof-using-littles-law/</guid>
<description><![CDATA[There is a simple way to examine, whether the load test which we conducted is to a real extent or no]]></description>
<content:encoded><![CDATA[<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;">There is a simple way to examine, whether the load test which we conducted is to a real extent or not.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;">The factors which we have to capture is</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;"><strong><em>Hits per second,</em></strong></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;"><strong><em>Avg Response time,</em></strong></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;"><strong><em>Think Time</em></strong></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;"><strong><em>No of users simulated.</em></strong></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;">Thus substituting all the gathered data in the formula,</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;"><strong>Total Number of users executed = (Response Time + Think Time) * Request per second</strong></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;"><strong><em><span style="text-decoration:underline;">Note:</span></em></strong></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;">Thus while calulating using the formula, the result value should equal or should be greater than the total number of users executed.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;">From this deal we can able to find out, how much users the servers can handle. If the result value goes below the total numbers executed, then the servers are not capable to server these many users.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;">The Page size also can be verified using,</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:Verdana;"><strong>Page size = Throughput / Hits per second.</strong></span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft Silverlight 2.0 RC0]]></title>
<link>http://colinizer.com/2008/09/28/microsoft-silverlight-20-rc0/</link>
<pubDate>Sun, 28 Sep 2008 21:28:06 +0000</pubDate>
<dc:creator>colinizer</dc:creator>
<guid>http://colinizer.fr.wordpress.com/2008/09/28/microsoft-silverlight-20-rc0/</guid>
<description><![CDATA[So it&#8217;s getting there.
Today Scott Guthrie announced the RC0 release, along with some commenta]]></description>
<content:encoded><![CDATA[<p>So it's getting there.</p>
<p>Today <a href="http://weblogs.asp.net/scottgu/archive/2008/09/25/silverlight-2-release-candidate-now-available.aspx">Scott Guthrie announced the RC0 release</a>, along with some commentary on what's new in that.&#160; The bet has to be that the final release (RTW) will be on or before PDC 2008 at the end of October.&#160; You can <a href="http://silverlight.net/GetStarted/sl2rc0.aspx">get the goodies</a> on the silverlight.net site.&#160; Note that it's only a release for developers (using VS2008) and includes the runtime, but it's not intended for public deployment - it's a pre-RTW testing opportunity for developers.&#160; There's also a Blend 2.0 SP1 preview to target RC0.</p>
<p>Anyone with the 2.0 Beta 2 or 2.0 RC0 runtimes should get an auto update to 2.0 RTW when it's available.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Make my way away from Outlook ]]></title>
<link>http://limkimkeong.wordpress.com/?p=31</link>
<pubDate>Sat, 27 Sep 2008 17:10:08 +0000</pubDate>
<dc:creator>limkimkeong</dc:creator>
<guid>http://limkimkeong.fr.wordpress.com/2008/09/27/make-my-way-away-from-outlook/</guid>
<description><![CDATA[I in my way move away from outlook and make use of the google mail, after something of using, i star]]></description>
<content:encoded><![CDATA[<p>I in my way move away from outlook and make use of the google mail, after something of using, i start make use of it effectively and efficiently. i can make search quick and can the email i want fast and not more needed to concern on the outlook space issue. as well know problem for outlook once hit the "size" will get in problem and slow.</p>
<p>Only concern is whether i have internet access or not that is the concern, but in today internet access is almost like electricity, not a make concern. and i hope the believe that web or web application inside the browse will eventually take over the client/server based as it make installation and upgrade easy and not to mention deployment much much easy.</p>
<p>With more time to come, i think i can move away from ms word/excel as well and make use of the online alternative or offline open source alternative, so no more get lock in the ongoing upgrading pressure and push from the vendor. eventually more or less is the same, not much change on the requirement for document creation, spreadsheet, presentation, PIM, email and web browser, it just right now more choice on web and open source alternative only.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Participate in MySQL and GlassFish Review contest and win $500]]></title>
<link>http://letmeknow.wordpress.com/?p=1070</link>
<pubDate>Sat, 27 Sep 2008 00:30:16 +0000</pubDate>
<dc:creator>Mohamed Sanaulla</dc:creator>
<guid>http://letmeknow.fr.wordpress.com/2008/09/27/participate-in-mysql-and-glassfish-review-contest-and-win-500/</guid>
<description><![CDATA[Event: MySQL and GlassFish Student Review contest (Website)
Organized By: Sun Microsystems
Key Dates]]></description>
<content:encoded><![CDATA[<p><strong>Event: </strong>MySQL and GlassFish Student Review contest (<a href="http://www.sun.com/products-n-solutions/reviews/studentzone/contest.jsp" target="_blank">Website</a>)<img src="http://www.sun.com/images/e8/e8_student-reviews-contest.jpg" alt="" align="right" /></p>
<p><strong>Organized By: </strong>Sun Microsystems</p>
<p><strong>Key Dates:</strong><br />
Deadline for Submissions: October 22, 2008</p>
<p><strong>For Whom:</strong><br />
Participant must be enrolled as a student pursuing a degree in an educational institute<br />
<!--more--></p>
<p>Sun Microsystems has yet again announced the Student Review Contest. This time one has to use MySQL and GlassFish and develop a web application and then write a review on MySQL and GlassFish.</p>
<p>Download <a href="http://dev.mysql.com/downloads/mysql/5.1.html" target="_blank">MySQL 5.1 Community Edition</a> and <a href="https://glassfish.dev.java.net/downloads/v2ur2-b04.html" target="_blank">GlassFish v2 UR2</a> application server. Check them out for yourself by developing a web application. After you have a chance to use both the products, write reviews to tell the world what you think. A panel of judges will review all submissions and select the winners.</p>
<p>The contest will have <strong>two groups</strong>: one for students who are not <a href="http://developers.sun.com/students/campus_ambassadors.jsp">Sun Campus Ambassadors</a>, and another  comprising Sun Campus Ambassadors. For <span style="text-decoration:underline;">each</span> group, there will be a grand prize of $500 in Visa debit card, and five second prizes of  $250 each in Visa debit card.</p>
<p><strong>How to participate:</strong><br />
1. Develop an web application using MySQL and GlassFIsh and then host it on java.net<br />
2. Write a review on MySQL and GlassFish in your blog.</p>
<p>Use the <a href="https://www2.sun.de/dct/forms/reg_us_2005_407_0.jsp" target="_blank">Entry Submission</a> link and submit the entries.</p>
<p>More details can be found <a href="http://www.sun.com/products-n-solutions/reviews/studentzone/contest.jsp">here</a> and in the Student reviews <a href="http://blogs.sun.com/students/" target="_blank">Blog</a>.</p>
<p><em><br />
Subscribe to Geek RSS Feed <a title="Geek" href="http://feeds.feedburner.com/LetMeKnowGeek" target="_blank"><span style="color:#105cb6;">here</span></a>.</em><br />
<em> Subscribe to Let Me Know RSS Feed <a title="Let Me Know" href="http://feeds.feedburner.com/letmeknowlmk" target="_blank"><span style="color:#105cb6;">here</span></a>.</em></p>
<p><!-- AddThis Button BEGIN --><br />
<a title="Bookmark and Share" href="http://www.addthis.com/bookmark.php" target="_blank"><img src="http://s9.addthis.com/button1-share.gif" border="0" alt="Bookmark and Share" width="125" height="16" /></a><br />
<!-- AddThis Button END --></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Avatar... Crearne uno in Stile Manga]]></title>
<link>http://thegreatsky.wordpress.com/?p=129</link>
<pubDate>Thu, 25 Sep 2008 17:25:47 +0000</pubDate>
<dc:creator>thegreatsky</dc:creator>
<guid>http://thegreatsky.fr.wordpress.com/2008/09/25/avatar-crearne-uno-in-stile-manga/</guid>
<description><![CDATA[
Face Your Manga è un sito web  che contiene un&#8217;applicazione che permette di creare Avatar ]]></description>
<content:encoded><![CDATA[<p><a href="http://thegreatsky.files.wordpress.com/2008/09/faceyourmanga.png"><img class="aligncenter size-large wp-image-132" title="faceyourmanga" src="http://thegreatsky.wordpress.com/files/2008/09/faceyourmanga.png?w=510" alt="" width="510" height="322" /></a></p>
<p><a href="http://www.faceyourmanga.com" target="_blank">Face Your Manga</a> è un sito web  che contiene un'applicazione che permette di creare Avatar stile Manga, il sito è disponibile anche in Italiano.</p>
<p>L'avatar, sarà creato a Mezzo Busto, si ha la possibilità di scegliere molte caratteristiche</p>
<ul>
<li>Faccia</li>
<li>Occhi</li>
<li>Naso</li>
<li>Bocca</li>
<li>Capelli</li>
<li>Abiti</li>
<li>Gadget</li>
<li>Accessori</li>
<li>Sfondo</li>
</ul>
<p>Come potete vedere si ha una scelta vasta di possibilità, che non perde nella cura dei particolari. Alla fine della creazione, vi verrà richiesto un indirizzo mail valido per poter inviare il capolavoro...</p>
<p>Nell'immagine postata sopra, potete vedere come si presenta di dafault l'avatar da creare.</p>
<p>Sbizzarritevi e fatemi sapere...</p>
<p>The_Great_Sky</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[OfficeZilla goes social with ShareCircle.com]]></title>
<link>http://techbays.wordpress.com/?p=1409</link>
<pubDate>Thu, 25 Sep 2008 08:02:49 +0000</pubDate>
<dc:creator>Carlo Maglinao</dc:creator>
<guid>http://techbays.com/2008/09/25/officezilla-goes-social-with-sharecirclecom/</guid>
<description><![CDATA[OfficeZilla adds a slew of new features to its Professional Version including ability to fax documen]]></description>
<content:encoded><![CDATA[<p><a href="http://officezilla.com">OfficeZilla</a> adds a slew of new features to its <a href="http://officezilla.com/professional/">Professional Version</a> including ability to fax documents, options for branding, special customization support, appointment scheduler module, calendar website integration, contact manager website integration, contact email follow-up system, PBX features, content linking, information tracking, and improved security.</p>
<p>OfficeZilla also launches <a href="http://sharecircle.com">ShareCircle</a>, which allows you to expose your company or organization to new supporters with an option for these supporters or customers to join as members.</p>
<p><strong>Previously</strong>:</p>
<ul>
<li><a href="http://techbays.com/2008/03/30/officezilla-adds-module-naming-user-directory-and-direct-messages/">OfficeZilla adds module naming, user directory and direct messages</a></li>
<li><a href="http://techbays.com/2008/03/10/go-virtual-office-with-officezilla/">Go virtual office with OfficeZilla</a></li>
</ul>
]]></content:encoded>
</item>
<item>
<title><![CDATA[HelloTxt adds gTalk, Jabber, Yammer, YouAre, Hictu, Rejaw and Jisko]]></title>
<link>http://techbays.wordpress.com/?p=1398</link>
<pubDate>Tue, 23 Sep 2008 08:01:51 +0000</pubDate>
<dc:creator>Carlo Maglinao</dc:creator>
<guid>http://techbays.com/2008/09/23/hellotxt-adds-gtalk-jabber-yammer-youare-hictu-rejaw-and-jisko/</guid>
<description><![CDATA[HelloTxt adds new integrations to its multiple services update application including gTalk and Jabbe]]></description>
<content:encoded><![CDATA[<p><a href="http://www.hellotxt.com">HelloTxt</a> adds new integrations to its multiple services update application including <a href="http://hellotxt.com/?status=http://hellotxt.com+via+gTalk+or+Jabber">gTalk and Jabber</a> and social network services <a href="http://yammer.com/" target="_blank">Yammer</a>, <a href="http://youare.com/" target="_blank">YouAre</a>, <a href="http://hictu.com/" target="_blank">Hictu</a>, <a href="http://rejaw.com/" target="_blank">Rejaw</a> and <a href="http://jisko.net/" target="_blank">Jisko</a>.</p>
<p>A plug-in for Wordpress and other blog platforms is in the works, as noted by HelloTxt leader Fabrizio Giordano. A personal Lifestream feed is now available by following this setting: <strong>http://hellotxt.com/user/</strong><strong>Your-user-ID/feed</strong>.<a href="http://hellotxt.com/user/techbays/feed" target="_blank"><br />
</a></p>
<p style="padding-left:30px;"><strong>Previously</strong>:</p>
<blockquote>
<ul>
<li><a href="HelloTxt adds FriendFeed, Identi.ca, Brightkite, Plurk support">HelloTxt adds Friendfeed, Identi.ca, Brightkite, Plurk support</a></li>
<li><a href="http://techbays.com/2008/03/04/hellotxt-integrates-app-with-facebook/">HelloTxt integrates app with Facebook</a></li>
<li><a href="http://techbays.com/2008/02/15/hellotxt-mobile-works-just-fine/">HelloTxt mobile works just fine</a></li>
<li><a href="http://techbays.com/2008/02/03/hellotxt-joins-miniblogs-with-timeline/">HelloTxt joins miniblogs with timeline</a></li>
</ul>
</blockquote>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Jail Management Information System ]]></title>
<link>http://faisalproject.wordpress.com/?p=15</link>
<pubDate>Mon, 22 Sep 2008 04:21:17 +0000</pubDate>
<dc:creator>faisalweeny</dc:creator>
<guid>http://faisalproject.fr.wordpress.com/2008/09/22/jail-management-information-system/</guid>
<description><![CDATA[
Jail Management Information System has been just completed, which is developed by  J2ME(Java) and O]]></description>
<content:encoded><![CDATA[<p><!--[if gte mso 9]&#62;  Normal 0   false false false        MicrosoftInternetExplorer4  &#60;![endif]--><!--[if gte mso 9]&#62;   &#60;![endif]--></p>
<p>Jail Management Information System has been just completed, which is developed by<span> </span><span> </span>J2ME(Java) and Oracle, here is some snapshot of that project. Its interface has developed by my self .[gallery]</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenClinica 2.5 is Here!]]></title>
<link>http://clinicalresearch.wordpress.com/?p=69</link>
<pubDate>Fri, 19 Sep 2008 21:55:24 +0000</pubDate>
<dc:creator>paulgalvin</dc:creator>
<guid>http://clinicalresearch.fr.wordpress.com/2008/09/19/openclinica-25-finally-arrives/</guid>
<description><![CDATA[It is with great excitement that I can finally say the production release of OpenClinica 2.5 is here]]></description>
<content:encoded><![CDATA[<p>It is with great excitement that I can finally say the production release of OpenClinica 2.5 is here!  It took a lot of hard work and dedication not just from our developers, but our testers and community contributors as well.</p>
<p>Please <a href="http://www.openclinica.org/entities/entity_details.php?eid=445">go </a><a href="http://www.openclinica.org/entities/entity_details.php?eid=445">here</a><a href="http://www.openclinica.org/entities/entity_details.php?eid=445"> to download</a> the latest and greatest offering of the preeminent open source application for electronic data capture and clinical data management. You will need to have an account on www.openclinica.org to download it.  If you don't have one you can register for one.</p>
<p>In the download package you will find installation scripts for both the Oracle and PostgreSQL databases on both the Linux and Windows operating systems.  In addition, for folks currently using version 2.2.1 or 2.2.2, there are scripts to upgrade your instance to OpenClinica 2.5.</p>
<p>Everyone will be able to experience the robust new features of the application including Bulk Data Import, Improved Query Management and Resolution, Cross Form/Cross Field Edit Checks, and Editing/Copying Datasets.  Also, we have removed the need for a nightly data warehouse script to run and now you can extract data in real time.</p>
<p>Please join Akaza Research on October 7th for a free webinar introducing OpenClinica 2.5. You can sign-up here:</p>
<p>- <a href="https://www2.gotomeeting.com/register/974214354">Webinar @ 19:00 - 20:30 (GMT -5:00)</a><br />
- <a href="https://www2.gotomeeting.com/register/653567155">Webinar @ 9:30 - 11:00 (GMT - 5:00)</a></p>
<p>Of course we'd highly recommend attending a training course so you too can become an expert user of OpenClinica. Our first <a href="http://www.openclinica.org/page.php?pid=89">open enrollment training</a> on OpenClinica 2.5 is being offered October 15-17.</p>
<p>Thanks again to everyone for making this release a success!</p>
<p>- Paul Galvin</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[The Benefits of Corporate Social Networking Software]]></title>
<link>http://socialnetworkings.wordpress.com/?p=17</link>
<pubDate>Thu, 11 Sep 2008 06:11:49 +0000</pubDate>
<dc:creator>agriyafacebook</dc:creator>
<guid>http://socialnetworkings.fr.wordpress.com/2008/09/11/the-benefits-of-corporate-social-networking-software/</guid>
<description><![CDATA[By L. Ennis
Social networking software has grown in popularity with individuals over the years and r]]></description>
<content:encoded><![CDATA[<p>By<a href="http://EzineArticles.com/?expert=L._Ennis" target="_blank"> L. Ennis</a></p>
<p>Social networking software has grown in popularity with individuals over the years and recently many companies have started to take advantage of the corporate social networking software that developers have made available. These software programs make it easy for businesses to take advantage of the social networking craze with little or no networking experience. With the help of social networking software corporations can reach their target audience in larger numbers than ever before. These different programs are designed to work with various, popular, social networking websites.</p>
<p>Corporate social networking software is designed to be used by professionals that are using social networks solely for business. These software programs allow corporations to promote their various products or services to casual users who have expressed an interest in their company's services. They also let businesses build mailing or contact lists so that they can send out mass communications to interested users. Many corporate social networking software programs will even promote blog feeds from outside websites keeping social network users updated on information being posted on other websites.</p>
<p>Corporate social networking software also gives businesses the chance to connect with other companies.  This networking can be extremely valuable especially if the company runs another website or blog that needs to be promoted. Some software programs even allow corporations to recommend specific products and services to other users on the networks. By building contacts with other businesses a company can set up profitable link exchanges or cross promotions with companies that target a similar audience.</p>
<p>When choosing your corporate social network software it is important that you or your marketing experts identify the needs of your business. For example, if you're primary goal is to use a social network to promote a blog then pick out a software program that will make it easy to showcase your blogs RSS feed. Also, be sure that your social networking software includes customer support. Even though must corporate social networking software programs are designed to be used by people with limited experiences it is always helpful to have support available. Purchasing a software program that allows for telephone or online customer service support will help your company get the most use out of its new program.</p>
<p>For more information on social networking solutions visit http://www.MegaStarMedia.com</p>
<p>Article Source:  <a href="http://EzineArticles.com/?expert=L._Ennis" target="_blank">http://EzineArticles.com/?The-Benefits-of-Corporate-Social-Networking-Software&#38;id=1259664</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[The Best Social Networking Software Features]]></title>
<link>http://socialnetworkings.wordpress.com/?p=14</link>
<pubDate>Thu, 11 Sep 2008 06:08:32 +0000</pubDate>
<dc:creator>agriyafacebook</dc:creator>
<guid>http://socialnetworkings.fr.wordpress.com/2008/09/11/the-best-social-networking-software-features/</guid>
<description><![CDATA[By Irina Ivanova
If you&#8217;re going to create your own social networking site you will have to de]]></description>
<content:encoded><![CDATA[<p>By <a href="http://ezinearticles.com/?expert=Irina_Ivanova" target="_blank">Irina Ivanova</a></p>
<p>If you're going to create your own social networking site you will have to decide what features you want to offer on the site so that you can choose the right networking software that has those particular features built into it. There are hundreds of different features that are common social networking sites, so how do you know which ones to use and which ones not to use? The trick to picking the best social networking features for your company's networking site is to make sure that each feature you pick has a functional aspect as well as a fun aspect. You also need to keep in mind the purpose of your networking site when you're choosing the software that will give you the features that you want for your site.</p>
<p>For example, look at one of the most commonly found features in social networking software, the ability to post videos online. Does your networking site need that feature? If your social networking site is just an in-house site to help the members of the company get to know one another more and stay connected then you might not need to have that feature. But, if your site is designed to help clients stay in touch with their account managers or customer service reps then having a video feature on the site would allow the account mangers or customer service reps to post videos and tutorials about how to use the products that you sell, and that could be extremely helpful and beneficial for customers.</p>
<p>Ultimately only you can decide what the best features are for your custom social networking site and which features you really want to have but when you're buying networking website software it's better to buy software that has more features then you think you will need because you might decide later on that you need different features than the ones that you want to have now. If you buy software that already has all the additional features that you might want in the future you won't need to buy software when you want to add more features to your custom social networking site.</p>
<p>Irina Ivanova is a marketing consultant for MegaStar Media. For more information about MegaStar Media visit the MegaStar Media website at: http://www.MegaStarMedia.com</p>
<p>Article Source:  <a href="If you're going to create your own social networking site you will have to decide what features you want to offer on the site so that you can choose the right networking software that has those particular features built into it. There are hundreds of different features that are common social networking sites, so how do you know which ones to use and which ones not to use? The trick to picking the best social networking features for your company's networking site is to make sure that each feature you pick has a functional aspect as well as a fun aspect. You also need to keep in mind the purpose of your networking site when you're choosing the software that will give you the features that you want for your site." target="_blank">http://EzineArticles.com/?The-Best-Social-Networking-Software-Features&#38;id=1266150</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[What is the Best Corporate Social Networking Software?]]></title>
<link>http://socialnetworkings.wordpress.com/?p=12</link>
<pubDate>Thu, 11 Sep 2008 06:02:35 +0000</pubDate>
<dc:creator>agriyafacebook</dc:creator>
<guid>http://socialnetworkings.fr.wordpress.com/2008/09/11/what-is-the-best-corporate-social-networking-software/</guid>
<description><![CDATA[By Irina Ivanova
If you want to build a custom corporate social networking site that your company ca]]></description>
<content:encoded><![CDATA[<p>By <a href="http://ezinearticles.com/?expert=Irina_Ivanova" target="_blank">Irina Ivanova</a></p>
<p>If you want to build a custom corporate social networking site that your company can use either for communicating with each other or communicating with customers and the corporate headquarters you're probably wondering what best social networking software is. It's actually hard to pick one brand of software that is used by businesses to build a networking site and claim it's the best one because every company has different needs, making it quite possible that every company will find a different type of business networking software suits their particular needs.</p>
<p>In order to pick the best social networking software for your company you need to identify what features you want your online community site to have. If you want just a basic networking site then you probably want to choose networking business software that doesn't have a lot of bells and whistles because you'd end up paying a lot more for features that you don't need. If your business networking site has to look like all the other company social networking sites that are going to be under one large company umbrella then you will have to use the same social networking software that all the other companies that do business that corporate umbrella are going to use for their sites. And if you want a custom online networking site that has all the bells and whistles that a site like MySpace has then you'll have to get top of the line corporate social networking software.</p>
<p>Once you have identified what type of features you want your custom social networking site to have you should try out a few different corporate social networking software packages to see what each one offers and how each one is to use. Most social networking software companies will give you a 30 or 60 day free trial of their software to make sure that the software fits your needs before they require you to buy it. Take advantage of the free trials of corporate social networking software so that you can compare different brands and see which one will give you the type of corporate social networking site that you want.</p>
<p>Irina Ivanova is a marketing consultant for MegaStar Media. For more information about MegaStar Media visit the MegaStar Media website at: http://www.MegaStarMedia.com</p>
<p>Article Source:  <a href="http://EzineArticles.com/?expert=Irina_Ivanova" target="_blank">http://EzineArticles.com/?What-is-the-Best-Corporate-Social-Networking-Software?&#38;id=1266132</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Ubuntu Jaunty Jackalope]]></title>
<link>http://vitantoniomessa.wordpress.com/?p=115</link>
<pubDate>Tue, 09 Sep 2008 07:12:00 +0000</pubDate>
<dc:creator>Vitantonio Messa</dc:creator>
<guid>http://vitantoniomessa.fr.wordpress.com/2008/09/09/ubuntu-jaunty-jackalope/</guid>
<description><![CDATA[Ubuntu Intrepid Ibex (8.10) hasn&#8217;t been released yet, but Mark Shuttleworth, on the Ubuntu dev]]></description>
<content:encoded><![CDATA[<p>Ubuntu Intrepid Ibex (8.10) hasn't been released yet, but Mark Shuttleworth, on the Ubuntu developer announcements mailing list, started to talk about <a href="https://lists.ubuntu.com/archives/ubuntu-devel-announce/2008-September/000481.html">Jaunty Jackalope</a> (Ubuntu 9.04).</p>
<p>The focus for the new release of Ubuntu will be on reducing the boot time:</p>
<blockquote><p><em>We want Ubuntu to boot as fast as possible - both in the standard case, and especially when it is being tailored to a specific device.</em></p></blockquote>
<p>And the other goal is the integration of web application with desktop:</p>
<blockquote><p><em>Another goal is the the blurring of web services and desktop applications. "Is it a deer? Is it a bunny? Or is it a weblication - a desktop application that seamlessly integrates the web!"</em></p></blockquote>
<p>I'm really curious about this last goal: we'll see what Ubuntu Jaunty Jackalope will bring us!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Could Chrome tackle basket abandonment?]]></title>
<link>http://retailanswers.wordpress.com/?p=193</link>
<pubDate>Mon, 08 Sep 2008 19:34:04 +0000</pubDate>
<dc:creator>Rachel Maclean</dc:creator>
<guid>http://retailanswers.fr.wordpress.com/2008/09/08/could-chrome-tackle-basket-abandonment/</guid>
<description><![CDATA[Google ChromeSo Google has launched a browser (Chrome), aimed at running web apps rather than just l]]></description>
<content:encoded><![CDATA[<p>[caption id="" align="alignleft" width="150" caption="Google Chrome"]<img alt="Google Chrome" src="http://retailanswers.files.wordpress.com/2008/09/logo_sm.jpg" title="Google Chrome" width="150" height="55" />[/caption]So Google has launched a browser (Chrome), aimed at running web apps rather than just loading pages. Google has a strategic aim to move us to "cloud computing" - keeping our information and applications on the internet. Upgrades will happen "out there". No need to upgrade the operating system (and buy Microsoft) to run the new version of the software - it will simply load in your old browser.</p>
<p>With Retail Answers' long track record of developing web applications in .NET, I asked one of our developers what she would look for in a browser specifically designed to run web apps. And the answer? Get control of the back button. She wanted to be able to hook the code under the "back" or "previous" link on the pages she develops into the back button so that the confusion that occurs when the user goes back illegally would be avoided.</p>
<p>What a difference this would make to basket abandonment! How many times have you got caught in a tangle when authorising cards, finalising delivery addresses and checking the contents of the basket?</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[System Development Life Cycle - SDLC]]></title>
<link>http://webarya.wordpress.com/?p=93</link>
<pubDate>Mon, 08 Sep 2008 08:10:14 +0000</pubDate>
<dc:creator>replyarya2u</dc:creator>
<guid>http://webarya.fr.wordpress.com/2008/09/08/system-development-life-cycle-sdlc/</guid>
<description><![CDATA[What is SDLC?
The process of developing information systems through investigation, analysis, design,]]></description>
<content:encoded><![CDATA[<p><strong>What is SDLC?<br />
</strong>The process of developing information systems through investigation, analysis, design, implementation and maintenance.<br />
<strong>Feasibility Study</strong><br />
A documented concensus that the project or upgrade requested will be successful for the effort involved. An objective or group of objectives should be understood prior as the root of the analysis. Aspects such as cost (time, money, effort), other alternatives, and constraints on existing and future solutions, should be investigated and documented. At this point, it should be determined whether the project should continue or not.<br />
<strong>Analysis and Specifications</strong><br />
This is to analyse the existing and proposed needs of the end users, detailing them to be used as cornerstones of design and testing. Criteria of a successful implementation should be agreed upon, along with functional requirements. This can be done through process flowcharts and data flow diagrams. Reuse of Third Party code (libraries and/or projects) should be identified if cost-effective (time, money, effort). Systems development goals, costs, and deliverables expectations should be identified and documented.<br />
<strong>Design, Documentation and Quality Assurance</strong><br />
Based on the agreed upon specifications, design objectives should already be clearly defined. As the design is finalised, this design information will form the basis for User and Technical documentation. Quality Assurance such as automated testing can be catered for during the design stage. Prototyping and use of mock function stubs (see <a title="StubsAndMockObects" href="http://www.bitweaver.org/wiki/StubsAndMockObects">StubsAndMockObects</a>) allow rapid development of users interfaces and class design, which will form the basis of QA testing suites.<br />
<strong>Development</strong><br />
Apart from coding, items such as policies for Change Control and Third Party Library and Code dependencies should be considered. Several iterations of program and testing should be planned and milestoned tentatively. Testing duties should be segregated from development tasks as much as possible to ensure fair analysis. User interfaces, test data for objectives testing and initial systems documentation should be produced now.<br />
<strong>Systems Implementation</strong><br />
Implementation and production deployment is planned here (not applicable to our project). File conversion, migration and upgrade paths should all be catered for here, using pilot, parallel or full-system cutovers. User and operations manuals should be complete.<br />
<strong>Systems Maintenance</strong><br />
This consists of routine maintenance and bug-fixes, with scheduled improvements prepared over time using mini-SDLC's. Periodic assessment of design and performance based on the needs and changes also occurs.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Batch Processing in Web Applications]]></title>
<link>http://heuristicexception.wordpress.com/?p=15</link>
<pubDate>Fri, 26 Sep 2008 21:09:07 +0000</pubDate>
<dc:creator>heuristicexception</dc:creator>
<guid>http://heuristicexception.fr.wordpress.com/2008/09/26/batch-processing-in-web-applications/</guid>
<description><![CDATA[I&#8217;m currently working on an application that allows an administrative user to upload an input ]]></description>
<content:encoded><![CDATA[<p>I'm currently working on an application that allows an administrative user to upload an input file that contains thousands of records that need to be processed.</p>
<p>Our initial naive solution to this problem was to parse the upload file into individual records, save the record to the database and then send a JMS message containing the <a href="http://en.wikipedia.org/wiki/Primary_key">PK</a> of the record to a JMS queue to kick off asynchronous processing for each record.</p>
<p>It worked great....until we tried to process a file with more than  a few thousand records. Then the transaction that the file processing was running in started timing out. That's a problem.</p>
<p>You see, our benchmark for file processing is 10k records--that's the expected size of the files we will start receiving once our system goes live. We'd also like to have some additional breathing room in processing capability in case we see larger files in the wild. But, as it was, not only did we not have any breathing room, we had a giant boulder sitting on our chest crushing us.</p>
<p>What to do?</p>
<p>It was about this time that I reflected on the need for an entirely new approach, not a variation on our existing processing strategy. <a href="http://static.springframework.org/spring-batch/">Spring Batch</a> to the rescue.</p>
<p>The Spring Batch framework is a new addition to the Spring portfolio. The <a href="http://static.springframework.org/spring-batch/team-list.html">primary committers</a> on the project have extensive experience producing batch processing solutions. It is primarily designed as a Java based batch processing framework using traditional batch processing strategies. In other words, it wasn't a natural fit for my needs: kicking off batch processing with dynamic input from within a web application.</p>
<p>Many (most) of the collaborators in a spring batch configuration are stateful so they don't lend themselves to traditional singleton based spring context wiring. I originally tried defining these beans as prototypes but the problem was that one of the stateful collaborators needs to be injected TWICE into one of the components (as a collaborator and to register as a listener). It couldn't be defined as a prototype or two <em>different</em> objects would be injected and that wouldn't work.</p>
<p>In the documentation and on the forums, the Spring Batch team has suggested that you just use a new <a href="http://static.springframework.org/spring/docs/2.5.x/api/org/springframework/context/ApplicationContext.html">ApplicationContext</a> for each run of your batch job. All of the examples that I've found construct the ENTIRE application context for each run of the batch job(s). That won't work in my case because my application context is being used by the entire web application. I can't refresh it (and the hundreds of beans it contains) just to breath new life into a handful of stateful spring batch beans.</p>
<p>Enter the <a href="http://static.springframework.org/spring-batch/apidocs/org/springframework/batch/core/configuration/support/ClassPathXmlApplicationContextJobFactory.html">ClassPathXmlApplicationContextJobFactory</a>. This class allows you to construct your batch job beans from an existing parent ApplicationContext and a subcontext bean definition file. The key to this is that <strong>every time</strong> you request a job from the factory, it constructs a brand new sub context and wires up your batch job beans to the rest of it's singleton collaborators in your parent application context. Yippee!</p>
<p>The only gripe I had about this JobFactory implementation was that it expected the properties to be injected as constructor arguments (including the parent application context) and I wasn't aware of a way to pass the application context into a bean unless the bean implemented <a href="http://static.springframework.org/spring/docs/2.0.x/api/org/springframework/context/ApplicationContextAware.html">ApplicationContextAware</a>. Hence, I created the following wrapper class that supports property injection making configuration a snap:</p>
<p>[sourcecode language='java']<br />
public class ContextAwareJobFactory implements JobFactory, ApplicationContextAware, InitializingBean<br />
{<br />
    private ClassPathXmlApplicationContextJobFactory delegate;</p>
<p>    /* The parent application context */<br />
    private ApplicationContext applicationContext;<br />
    /* The job bean name */<br />
    private String beanName;<br />
    /* resource path to subcontext spring config */<br />
    private String subcontextPath;</p>
<p>    public void setBeanName(String beanName)<br />
    {<br />
        this.beanName = beanName;<br />
    }</p>
<p>    public void setSubcontextPath(String subcontextPath)<br />
    {<br />
        this.subcontextPath = subcontextPath;<br />
    }</p>
<p>    /* (non-Javadoc)<br />
     * @see org.springframework.batch.core.configuration.JobFactory#createJob()<br />
     */<br />
    @Override<br />
    public Job createJob()<br />
    {<br />
        return delegate.createJob();<br />
    }</p>
<p>    /* (non-Javadoc)<br />
     * @see org.springframework.batch.core.configuration.JobFactory#getJobName()<br />
     */<br />
    @Override<br />
    public String getJobName()<br />
    {<br />
        return delegate.getJobName();<br />
    }</p>
<p>    /* (non-Javadoc)<br />
     * @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext)<br />
     */<br />
    @Override<br />
    public void setApplicationContext(ApplicationContext context) throws BeansException<br />
    {<br />
        this.applicationContext = context;<br />
    }</p>
<p>    /* (non-Javadoc)<br />
     * @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet()<br />
     */<br />
    @Override<br />
    public void afterPropertiesSet() throws Exception<br />
    {<br />
        delegate = new ClassPathXmlApplicationContextJobFactory(this.beanName, this.subcontextPath, this.applicationContext);<br />
    }<br />
}<br />
[/sourcecode]</p>
<p>Configuration is then very simple:<br />
[sourcecode language="xml"]<br />
    <bean id="jobFactory" class="com.mybatch.ContextAwareJobFactory"></p>
<property name="beanName" value="myJob"/>
<property name="subcontextPath" value="classpath:spring/mybatch-processing-prototype-beans.xml"/>
    </bean><br />
[/sourcecode]</p>
<p>Note that all of the stateless beans that my batch process uses (e.g. <a href="http://static.springframework.org/spring-batch/apidocs/org/springframework/batch/item/file/mapping/FieldSetMapper.html">FieldSetMappers</a>, <a href="http://static.springframework.org/spring-batch/apidocs/org/springframework/batch/item/file/transform/LineTokenizer.html">LineTokenizers</a>, etc) are stored in the parent context. It's only beans that are either stateful or are injected with stateful beans that are defined in the sub context "prototype" beans file.</p>
<p>And that's it! Presto, I'm able to process input files with thousands or tens of thousands of records with no problem. Spring Batch also supports chunking and restart so if your batch job gets interrupted, it can be restarted again and pickup where it left off and continue processing.</p>
<p>If you are Spring addicted and find yourself in need of a batch processing solution, I'd suggest that you give Spring Batch a long look.</p>
]]></content:encoded>
</item>

</channel>
</rss>
