<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6448432495120456380</id><updated>2012-02-11T09:37:38.030+05:30</updated><category term='Unix'/><category term='Power builder'/><category term='Defect Fixing'/><category term='blogger'/><category term='Reports'/><category term='Performance'/><category term='Internet'/><category term='Broadband'/><category term='JSP'/><category term='EGL'/><category term='Linux'/><category term='RBDe'/><category term='DB2'/><category term='Software Development'/><category term='online survey'/><category term='Web Application'/><category term='JSF'/><category term='Router'/><category term='knowledge Transfer'/><category term='Java/J2EE'/><title type='text'>Explore Your Thought Process</title><subtitle type='html'>Let's stimulate our thought process. Let's learn technology by sharing our thoughts.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>34</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-396296569433751196</id><published>2009-01-11T15:30:00.001+05:30</published><updated>2009-01-13T18:10:55.122+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='EGL'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Application'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>EGL: Performance Optimization</title><content type='html'>There are many factors which directly or indirectly affects the performance of EGL/Java Web Application. Performance tunning can be done at various ends. Mainly Application Level, Database Level and Server Level.&lt;br /&gt;&lt;br /&gt;A few thoughts mentioned below:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Application level:&lt;/strong&gt;&lt;br /&gt;1) If you are displaying huge chunk of data in the UI (say more than 25 rows in a page) then programmatic pagination is must. That is segregate the resultset into different pages (may be 20-25 rows per page). And load data for each page on demand.&lt;br /&gt;2) Give a look at the UI components for the page you are getting less performance and see if it can be simplified with lesser components. I know it is not easy and advisable to redesign at the point when delivery date is close.&lt;br /&gt;3) You can use "Ajax" whenever and wherever possible. It will definitely increase the performance.&lt;br /&gt;4) If you are using session variable make sure you remove it once it is done. DONOT wait till user logoff.&lt;br /&gt;&lt;strong&gt;A topic of debate:&lt;/strong&gt;&lt;br /&gt;1) Hand written java code by professional is always better than generated java code. Hand written java code can always be fined tunned and pin-point using optimization tools like Optimizeit etc.&lt;br /&gt;2) Now million dollar question (or may be some cents) is why jsf is defaulted to session scope and why not defaulted to request scope? How it is removed from the session on page transition? How and when the memory is reclaimed by JVM? As we all know we cannot force JVM to garbage collected.&lt;br /&gt;&lt;strong&gt;Server Level:&lt;/strong&gt;&lt;br /&gt;It is one of the several important steps that needs to be performed in order to get maximum output. It is NOT very difficult and scary to make changes to server setting then sticking onto the default setting. Refer below links to get an insite of it &lt;a href="http://www.ibm.com/developerworks/websphere/library/techarticles/0602_lurie/0602_lurie.html"&gt;http://www.ibm.com/developerworks/websphere/library/techarticles/0602_lurie/0602_lurie.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://whitepapers.techrepublic.com.com/abstract.aspx?docid=325396"&gt;http://whitepapers.techrepublic.com.com/abstract.aspx?docid=325396&lt;/a&gt;&lt;br /&gt;&lt;a href="http://rifers.org/blogs/gbevin/2005/4/21/get_rid_of_outofmemoryerror"&gt;http://rifers.org/blogs/gbevin/2005/4/21/get_rid_of_outofmemoryerror&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Database Level:&lt;/strong&gt;&lt;br /&gt;This is under discussion and will be posted shortly.&lt;br /&gt;&lt;br /&gt;Debate and discussions are always wel-come.&lt;br /&gt;&lt;br /&gt;Regards&lt;br /&gt;Monu&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-396296569433751196?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/396296569433751196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=396296569433751196' title='63 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/396296569433751196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/396296569433751196'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2009/01/egl-performance-optimization.html' title='EGL: Performance Optimization'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>63</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-4770624429985406762</id><published>2009-01-08T15:08:00.002+05:30</published><updated>2009-01-08T15:46:44.198+05:30</updated><title type='text'>JSF: Displaying "Loading....Please Wait!" message during ajax call</title><content type='html'>&lt;div align="justify"&gt;AJAX is becoming a specification in present day web application. Web 2 already infected and spread all across internet application. Web 3 is knocking at the doop step. &lt;a href="http://explore-your-thought-process.blogspot.com/2008/06/topic-of-debate-web-10-vs-web-20-vs-web.html"&gt;more...&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A very common requirement in ajax based web page is to convey the user that some server-side process is going on and the page/portion of the page is reloading. The best way to do this is displaying a suitable message like "Loading.....Please Wait!". Java Server Faces (JSF) is very impressive in implementing AJAX behavior in a page. It has provided well abstracted and easy to implement steps. Now coming back to message displaying use case; it requires just 4 additional changes: &lt;/div&gt;&lt;ol&gt;&lt;li&gt;Download a ajax activity image and store in images folder under WebContent folder. You can refer to this site to generate a gif image &lt;a href="http://www.ajaxload.info/"&gt;http://www.ajaxload.info/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Copy the below code anywhere in the page&lt;/strong&gt;. Preferrably immediately after &amp;lt;body&amp;gt;&lt;br /&gt;&lt;div id="loading"&gt;&amp;lt;div id="loading"&amp;gt;&amp;lt;p&amp;gt;Loading... Please wait!&amp;lt;/p&amp;gt;&amp;lt;img src="${pageContext.request.contextPath}/images/activity.gif" /&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Add two javascript function as mentioned below&lt;/strong&gt;:&lt;br /&gt;&lt;script language="JavaScript"&gt;&lt;br /&gt;function startProgressBar(){&lt;br /&gt;    document.all.loading.style.visibility="visible";&lt;br /&gt;}&lt;br /&gt;function stopProgressBar(){&lt;br /&gt;   document.all.loading.style.visibility="hidden";&lt;br /&gt;}&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&amp;lt;script language="JavaScript"&amp;gt;function startProgressBar(){ document.all.loading.style.visibility="visible";}function stopProgressBar(){ document.all.loading.style.visibility="hidden";}&amp;lt;/script&amp;gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Change the ajax tag in your jsf page&lt;/strong&gt;&lt;br /&gt;&lt;?xml:namespace prefix = hx /&gt;&lt;hx:ajaxrefreshrequest  target="ajaxGroup" style="color:#ff0000;"&gt;&amp;lt;hx:ajaxRefreshRequest target="ajaxGroup" &lt;span style="color:#ff0000;"&gt;onstart="startProgressBar()"&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;oncomplete="stopProgressBar()&lt;/span&gt;" id="ajaxRefreshRequest1"&amp;gt;&amp;lt;/hx:ajaxRefreshRequest&amp;gt;&lt;/hx:ajaxrefreshrequest&gt; &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Regards&lt;/p&gt;&lt;p&gt;Monu&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-4770624429985406762?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/4770624429985406762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=4770624429985406762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/4770624429985406762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/4770624429985406762'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2009/01/jsf-displaying-loadingplease-wait.html' title='JSF: Displaying &quot;Loading....Please Wait!&quot; message during ajax call'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-6399180136260003973</id><published>2008-11-19T00:20:00.002+05:30</published><updated>2008-11-19T00:43:13.156+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='EGL'/><title type='text'>EGL: Customize error message.</title><content type='html'>&lt;div align="justify"&gt;In EGL/JSF there is an api called &lt;em&gt;Syslib.setError("errorMsg")&lt;/em&gt;. This api display the error message in the UI provided there is an error component available in the page. You can put that error component by dragging onto the page from enhanced faces component . So far so good.&lt;/div&gt;&lt;div align="justify"&gt;Now if you want to display multiple message with a break in each line. For example you want to display following messages:&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;&lt;strong&gt;Warning: you have not entered street name.&lt;/strong&gt;&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;&lt;strong&gt;Form has been saved.&lt;/strong&gt;&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;Now if you want to display these lines in the same fashion as above you can not do that using setError function. It will display both the statement in the same line. Also if you want to set different colors for warning and success message you can not do.&lt;/div&gt;&lt;div align="justify"&gt;Now how to accomplish this requirement. JSF provide one component called outputText. You can drag this component from Enhanced Faces component list. Then create a string variable in the JSF Handler and assign the variable as below:&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;&lt;strong&gt;multipleMsg String = "Warning: you have not entered street name&lt;br /&gt;Form has been saved";&lt;/strong&gt;&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;After that bind this multipleMsg variable to the outputText component in the jsp. Similarly you can also add color on to these texts.&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;&lt;/em&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;Is not it cool&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;&lt;/em&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;Regards&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;Monu&lt;/em&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-6399180136260003973?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/6399180136260003973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=6399180136260003973' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/6399180136260003973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/6399180136260003973'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/11/egl-customize-error-message.html' title='EGL: Customize error message.'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-3173601272048421630</id><published>2008-11-16T19:03:00.000+05:30</published><updated>2008-11-19T00:47:57.664+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Defect Fixing'/><title type='text'>Defect Fixing: Be careful of bug fixing side effect</title><content type='html'>&lt;div align="justify"&gt;Defect Fixing ! Hmm one of the terrible thing to developers life. This is the biggest challenge a developer can have during developement. A small defect can make months long hard work bitter. So developers be careful of that and vows yourself to find remedy to tackle this and make your developement life easy. From my experience I have list down some points which might help minimizing defect counts.&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;u&gt;Prevention is better than cure:&lt;/u&gt;&lt;/strong&gt; I think this is the single most important statement that minimize all problems. So what prevention should we take? How this statment is applicable to software development? Well the answer is straight forward follow best practices and coding standard. &lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;u&gt;Bug fixing side effect:&lt;/u&gt;&lt;/strong&gt; Most deadly defects are the result of defect fixing. Some features remain untested after fixing a defect in some other feature assuming that the former is already tested before. That is why automation of test cases are highly desirable. Make sure irrespective of severity of the defect you run the entire test cases only again before delivery of code.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;u&gt;Time line:&lt;/u&gt;&lt;/strong&gt; Make sure you keep enough time for testing your application.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p align="justify"&gt;&lt;/p&gt;&lt;p align="justify"&gt;Regards&lt;/p&gt;&lt;p align="justify"&gt;Monu&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-3173601272048421630?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/3173601272048421630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=3173601272048421630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/3173601272048421630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/3173601272048421630'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/10/defect-fixing-be-careful-of-bug-fixing.html' title='Defect Fixing: Be careful of bug fixing side effect'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-3421559156492518203</id><published>2008-11-16T12:34:00.000+05:30</published><updated>2008-11-16T12:35:14.956+05:30</updated><title type='text'>myLot</title><content type='html'>&lt;a href="http://www.mylot.com/monudjn/9172"&gt;myLot User Profile&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-3421559156492518203?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/3421559156492518203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=3421559156492518203' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/3421559156492518203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/3421559156492518203'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/11/mylot.html' title='myLot'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-547985873958170689</id><published>2008-11-05T22:02:00.002+05:30</published><updated>2008-11-19T00:19:32.768+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='EGL'/><title type='text'>EGL: Edit page details while printing web page</title><content type='html'>What you do when you want to print a web page? Answer is obvious; use window.print() event. What you do when you want to print a web page which requires formatting like removing some text, page break, modifying some content etc. just before sending to printer? Answer could be you will create one more page and make the changes required for printing with window.print() event on page load function. Then forward to this page on clicking print button. Is there any other better solution? Remember the original page could be the result of lot of business which need to take care even when you are forwarding to other page taking up printing responsibility.&lt;br /&gt;Well in that case I would prefer to advise you to use javascript and css. This approach is not only fast but also easy and accurate.&lt;br /&gt;Now how to do that. Well answer is right below:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Surround the portion with a div in the jsp page you want to print . Donot think about the changes now.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Call a javascript function say &lt;em&gt;printPage(divPrintId).&lt;/em&gt; &lt;em&gt;divPrintId &lt;/em&gt;is the id of the div.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Retrieve the entire text within the div as &lt;em&gt;str=document.getElementById(divPrintId).innerHTML&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Now do the business changes on the innerHTML text. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;For page break you can create a javascript inside printPage javascript like below:&lt;br /&gt;&lt;em&gt;newwin.document.write('pageBreakDetails();\n')&lt;br /&gt;newwin.document.write('function pageBreakDetails(){\n')&lt;br /&gt;newwin.document.write('var details = document.getElementById("form1:tableId").style.pageBreakBefore="always";\n ')&lt;br /&gt;newwin.document.write('}\n')&lt;/em&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;Let me know if someone finds any difficulty implementing this&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Regards&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Monu&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-547985873958170689?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/547985873958170689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=547985873958170689' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/547985873958170689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/547985873958170689'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/11/egl-edit-page-details-while-printing.html' title='EGL: Edit page details while printing web page'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-5293813365905952897</id><published>2008-10-06T15:08:00.002+05:30</published><updated>2008-10-22T15:50:42.913+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><title type='text'>Blogger: Resolve Common Error while placing ads in a blogger</title><content type='html'>&lt;div align="justify"&gt;This article is little off-beat. However this is definitely useful for those who are newbie in the blogging world. Recently I have tried to display ad inside the article. For that I have made some changes in the template. After entering the ad code when try to save the template I have encountered different errors.&lt;br /&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="justify"&gt;Open quote is expected for attribute "{1}" associated with an element type &lt;&lt;strong&gt;&lt;em&gt;elementType&gt; : &lt;/em&gt;&lt;/strong&gt;Check the template code and look for &lt;elementtype&gt;(say height). This will be something like height = 5. Now blogger will complaint the above error. The solution is simple just put 5 within single quote like height = '5'.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;The reference to entity "&lt;&lt;strong&gt;entity&lt;/strong&gt;&gt;" must end with the ';' delimiter. : Check the template code and look for &lt;entity&gt;(say ad_size). Usually this kind of error is found when we use &amp;amp; inside a url (say http: // example.com?a=1&amp;amp;ad_size=3). Now "&amp;amp;" has to be replaced with "&amp;amp;amp;" to get rid of the problem.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p align="justify"&gt;Note: These problem errors are reference to blogger.com&lt;/p&gt;&lt;p align="justify"&gt;Similar kinds of problem might occur because less than and greater than sign.&lt;/p&gt;&lt;p align="justify"&gt;&lt;&gt; &lt;p align="justify"&gt;&gt; should be replaced with &amp;amp;gt;&lt;/p&gt;&lt;p align="justify"&gt;"" should be replaced with &amp;amp;quot;&lt;/p&gt;&lt;p align="justify"&gt;Regards&lt;/p&gt;&lt;p align="justify"&gt;Monu&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-5293813365905952897?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/5293813365905952897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=5293813365905952897' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/5293813365905952897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/5293813365905952897'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/10/blogger-resolve-common-error-while.html' title='Blogger: Resolve Common Error while placing ads in a blogger'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-6173481571372887689</id><published>2008-10-04T23:17:00.000+05:30</published><updated>2008-10-19T23:45:05.534+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><title type='text'>JSF: Avoid both Pagination and vertical scrolling at the same time</title><content type='html'>&lt;div align="justify"&gt;I have seen many applications (including one of my own application) use page pagination and vertical scrolling at the same time. This is a bad design at any curcumstances. Pagination is commonly used where application needs to display a huge chunk of data rows. It enhances page response and processing time. However sometime a page may have lot of other UI components which may allow a smaller portion of page area to display data row (may be atmost 10 rows). In such cases web designer go for vertical scrolling. Eventually this will force developer to think about implementing fixed header data column in a table.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;From my perception, even though you are able to display only few rows of data in a table at one time; do NOT go for vertical scrolling. This will reduce page usability. If user agrees to have say 20 rows in a page they might agree for 10 rows if convinced properly.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;JSF allows two types of pagination. &lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="justify"&gt;UI Pagination only: This is pagination in the UI only. No need to do any kind of code in the server. Just need to use pagination component in the web page using tooling.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Both UI and Server side Pagination: This is pagination both in the UI and in the server. You need to take care of previous, next and current set of rows that need to be displayed.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p align="justify"&gt;Very shortly I will explain these pagination technics with example along with vertical scrolling and fixed header problem.&lt;/p&gt;&lt;p align="justify"&gt;Regards&lt;/p&gt;&lt;p align="justify"&gt;Monu&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-6173481571372887689?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/6173481571372887689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=6173481571372887689' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/6173481571372887689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/6173481571372887689'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/10/jsf-avoid-both-pagination-and-vertical.html' title='JSF: Avoid both Pagination and vertical scrolling at the same time'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-1949304136475381450</id><published>2008-10-02T16:05:00.002+05:30</published><updated>2008-10-05T09:23:44.628+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='EGL'/><title type='text'>EGL: Extract URL details</title><content type='html'>&lt;div align="justify"&gt;This article helps Enterprise Generation Language (EGL) programmers to get the details about the server, port number and url type. Given below is a piece of dirty code (DONT COPY)&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;1) Create a Java Class like below:&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;package explore.your.thought.process&lt;br /&gt;&lt;em&gt;public class URLDetails {&lt;br /&gt;public String getServer(String url) {&lt;br /&gt;String replacedStr = getURLType(url);&lt;br /&gt;String server = "";&lt;br /&gt;String urlWithOutHTTP = url.replaceAll(replacedStr, "");&lt;br /&gt;String[] strArr = urlWithOutHTTP.split("[:]");&lt;br /&gt;if (strArr.length &gt; 0)&lt;br /&gt;server = strArr[0];&lt;br /&gt;return server;&lt;br /&gt;}&lt;br /&gt;public String getServerPort(String url) {&lt;br /&gt;String replacedStr = getURLType(url);&lt;br /&gt;String serverPort = "";&lt;br /&gt;String urlWithOutHTTP = url.replaceFirst(replacedStr, "");&lt;br /&gt;String[] strArr = urlWithOutHTTP.split("[:]");&lt;br /&gt;if (strArr.length &gt; 1) {&lt;br /&gt;String[] strArr1 = strArr[1].split("[/]");&lt;br /&gt;if (strArr1.length &gt; 0) {&lt;br /&gt;serverPort = strArr1[0];&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;return serverPort;&lt;br /&gt;}&lt;br /&gt;public String getURLType(String url) {&lt;br /&gt;String urlType = "";&lt;br /&gt;if (url.indexOf("https://") != -1)&lt;br /&gt;urlType = "https://";&lt;br /&gt;else if (url.indexOf("http://") != -1)&lt;br /&gt;urlType = "http://";&lt;br /&gt;return urlType;&lt;br /&gt;}&lt;br /&gt;}&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;2) create an EGL External Type:&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;em&gt;ExternalType URLDetails type JavaObject&lt;br /&gt;{JavaName = "URLDetails", PackageName = "explore.your.thought.process"}&lt;br /&gt;Function getServer(url String in) returns (String) ;&lt;br /&gt;function getServerPort(url String in) returns (String);&lt;br /&gt;Function getURLType(url String in) returns (String);&lt;br /&gt;End&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;Regards&lt;/div&gt;&lt;div align="justify"&gt;Monu&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-1949304136475381450?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/1949304136475381450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=1949304136475381450' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/1949304136475381450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/1949304136475381450'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/10/egl-extract-url-details.html' title='EGL: Extract URL details'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-8045183962904872455</id><published>2008-10-01T15:20:00.001+05:30</published><updated>2008-10-05T09:24:11.902+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='EGL'/><title type='text'>EGL: Converting string to int</title><content type='html'>&lt;div align="justify"&gt;Enterprise Generation Language (EGL) is coming up great. It has provided a good many number of API's. However sometime we need to rely on Java api to do some small task. For example converting string to int or any other datatype conversion. There is nothing great in converting string to int in EGL. We just need to do something like below:&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;resultInt int = JavaLib.invoke("java.lang.Integer", "parseInt", "12345");&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;if we print resultInt obviously the result would be "12345". So far so good. Now try to change the string to "9999999999" and execute the program again. Output will be something like&lt;br /&gt;&lt;strong&gt;&lt;em&gt;For input string: "9999999999" &lt;/em&gt;&lt;/strong&gt;and the execution will stop by then. What is the reason for this behavior? This is because we are NOT handling exception. Try below snippet:&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;try&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;resultInt int = JavaLib.invoke("java.lang.Integer", "parseInt", "12345");&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;onException (e AnyException)&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;//assign some value as per business&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;resultInt = -1; &lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;em&gt;end&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;Regards&lt;/div&gt;&lt;div align="justify"&gt;Monu&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-8045183962904872455?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/8045183962904872455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=8045183962904872455' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/8045183962904872455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/8045183962904872455'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/10/egl-converting-string-to-int.html' title='EGL: Converting string to int'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-1924646536736235024</id><published>2008-09-30T14:01:00.002+05:30</published><updated>2008-10-05T09:24:51.096+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>How To: Minimize Defects and Rework during Software Development</title><content type='html'>&lt;div align="justify"&gt;This article tries to analyse various factors injecting defects and how to minimize the defect ratio and amount of rework we do during a software/application development.&lt;br /&gt;&lt;br /&gt;When we estimate effort and hours for a project we dont estimate the number of bugs or the amount of rework we will be addressing during the development. Actually this is a hidden factor which eventually determines the delivery timeframe. More time we spend in rework+bug fixing, more deviation from the project plan.&lt;br /&gt;&lt;br /&gt;From various analysis it is concluded that high severity defects are uncovered during UAT (User Acceptance Test) when actually the user do the testing. It is very likely that those issues are related to the business of the application i.e. it could be the business rule which is NOT being captured or it is implemented wrongly. The impact of such a defect could be very immense which might lead to a huge rework never captured during planning of the project. Eventually this result in slipping the delivery date.&lt;br /&gt;&lt;br /&gt;So who has introduced those defects ? Who should be blamed for this? Hmmm probably every one will blame one another.&lt;br /&gt;&lt;br /&gt;From the past experience most of the defects are induced during requirement analysis and designing and it is uncovered in QA or UAT. On the other hand the developers are the main victims and has to go ahead fixing those with all the blames on their shoulders.&lt;br /&gt;&lt;br /&gt;I have tried to list down some of the key points that could lead to a smooth project delivery. Those are as follows: &lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;u&gt;Project Estimation:&lt;/u&gt;&lt;/strong&gt; During estimation project managers should keep enough allowable buffer to cope with any uncertain activities like rework and increased defect ratio from past experience. Update project plan whenever client aggrees on that.&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;u&gt;Requirement Analysis:&lt;/u&gt;&lt;/strong&gt; These phase introduced most of the defects and unfortunately uncovered most of them during UAT. So give enough time/hours during estimation to baseline this. Do not wait till UAT comes back with issue which may be too late. Especially when writing use case give utmost attension.&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;u&gt;Review:&lt;/u&gt;&lt;/strong&gt; Many times it is seen that clients are NOT very reluctant to review those documents. In that case if application fails to go to production both client and vendor is responsible. It is also seen that when everything got over including developement and testing client comes back seeking updation in the requirement document and so on and forth. So it is very important that client review any documents being sent for his approval should be correct and as per the expectation and on time.&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;u&gt;Avoid blame game:&lt;/u&gt;&lt;/strong&gt; An individual can be blamed and responsible for NOT meeting the delivery date. Everyone is equally responsible for any thing good or bad happen during the development. It is the process which could be blamed. Keep this experience as historical data and can be used as input in future projects estimation.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p align="justify"&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;/p&gt;&lt;p align="justify"&gt;Regards&lt;/p&gt;&lt;p align="justify"&gt;Monu&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-1924646536736235024?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/1924646536736235024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=1924646536736235024' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/1924646536736235024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/1924646536736235024'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/09/how-to-minimize-defects-and-rework.html' title='How To: Minimize Defects and Rework during Software Development'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-5364689009599528311</id><published>2008-09-27T13:24:00.000+05:30</published><updated>2008-11-19T00:48:53.756+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='EGL'/><category scheme='http://www.blogger.com/atom/ns#' term='Java/J2EE'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Application'/><title type='text'>EGL: Sorting Datatable Columns</title><content type='html'>&lt;div align="justify"&gt;There are many instances when we need to sort a particular column in a datatable. In this article I am trying to demonstrate one out of thousand options to sort a particular column in EGL.&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;strong&gt;Create a Java Class:&lt;/strong&gt;&lt;br /&gt;public class DatatableSorting {&lt;br /&gt;public List sortAsc(List list) {&lt;br /&gt;Collections.sort(list);&lt;br /&gt;return list;&lt;br /&gt;}&lt;br /&gt;public List sortDesc(List list) {&lt;br /&gt;Comparator comparator = Collections.reverseOrder();&lt;br /&gt;Collections.sort(list, comparator);&lt;br /&gt;return list;&lt;br /&gt;}&lt;br /&gt;}&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;strong&gt;Create EGL External Type:&lt;br /&gt;&lt;/strong&gt;ExternalType DatatableSorting type JavaObject&lt;br /&gt;{JavaName = "DatatableSorting", PackageName = "explore.your.thought.process"}&lt;br /&gt;function sortAsc(sortableArray String[] inout) returns (String[]);&lt;br /&gt;function sortDesc(sortableArray String[] inout) returns (String[]);&lt;br /&gt;End&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;strong&gt;Use DatatableSorting in EGL File: &lt;/strong&gt;&lt;br /&gt;program test type BasicProgram {}&lt;br /&gt;function main()&lt;br /&gt;sortableArray String[]{"A", "B", "1", "2"};&lt;br /&gt;sortingDatatableCols DatatableSorting = new DatatableSorting ();&lt;br /&gt;sortingDatatableCols.sortAsc(sortableArray);&lt;br /&gt;sortingDatatableCols.sortDesc(sortableArray);&lt;br /&gt;end&lt;br /&gt;end&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p align="justify"&gt;Note: If we notice carefully the java functions sortAsc and sortDesc accepts list as parameter and returns a list. However in out EGL it is actually String[]. This is because in EGL string[] will be generated to list in Java.&lt;/p&gt;&lt;p align="justify"&gt;I will be writing one more article on sorting multiple columns based on reflection shortly. &lt;/p&gt;&lt;p align="justify"&gt;Your comments are most welcome.&lt;/p&gt;&lt;p align="justify"&gt;Regards&lt;/p&gt;&lt;p align="justify"&gt;Monu&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-5364689009599528311?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/5364689009599528311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=5364689009599528311' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/5364689009599528311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/5364689009599528311'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/10/egl-sorting-datatable-columns.html' title='EGL: Sorting Datatable Columns'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-40560578264165817</id><published>2008-09-11T10:53:00.000+05:30</published><updated>2008-11-19T00:46:30.590+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Application'/><title type='text'>JSF: Handling onchange event with input mask</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;onchange&lt;/strong&gt; event is NOT working when we use mask on a text field with Input Assistance enable in java server faces (jsf).&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;div align="left"&gt;Example: Following jsp code sample will illustrate the problem.&lt;/div&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5210501936868883986" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp1.blogger.com/_p5a_LceLl7k/SE9r57iN_hI/AAAAAAAAAA4/Q-5RLWmQdlM/s320/untitled4.JPG" border="0" /&gt; onchange is very important if we want to see if a particular form is got changed.&lt;br /&gt;&lt;br /&gt;&lt;div align="left"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;One possible solution is to use hidden variable which will hold the same value as the phone number field initially.&lt;br /&gt;Any change in the value of phone number field will not affect the hidden field. That means hidden variable will hold the old value. Any difference between the two means the field got changed.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Example:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5210502171095354530" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp1.blogger.com/_p5a_LceLl7k/SE9sHkGKTKI/AAAAAAAAABA/POJSTQlvQkU/s320/untitled3.JPG" border="0" /&gt;&lt;br /&gt;&lt;?xml:namespace prefix = hx /&gt;&lt;hx:inputhelperassist id="assist6" promptcharacter="" errorclass="inputText_Error"&gt;&lt;hx:convertmask mask="(###)###-####"&gt;&lt;hx:convertnumber pattern="(###)###-####"&gt;&lt;/hx:convertnumber&gt;&lt;/hx:convertmask&gt;&lt;/hx:inputhelperassist&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-40560578264165817?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/40560578264165817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=40560578264165817' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/40560578264165817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/40560578264165817'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/06/no-onchange-event-occurs-when-input.html' title='JSF: Handling onchange event with input mask'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_p5a_LceLl7k/SE9r57iN_hI/AAAAAAAAAA4/Q-5RLWmQdlM/s72-c/untitled4.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-3144740118564309672</id><published>2008-09-10T22:42:00.000+05:30</published><updated>2008-10-19T23:49:03.943+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reports'/><category scheme='http://www.blogger.com/atom/ns#' term='Java/J2EE'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Application'/><title type='text'>Best Practice : Use of Report in Java/j2ee</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:verdana;"&gt;Use of reporting tool like jasper, crystal, brit etc. is common in web application developed in java/j2ee or any other language. Now a days all reporting tool provide greater flexibility and comes out with lot many features. Performing certain business, displaying computed columns etc which is also possible through java. What I meant by that is for a given feature we may have two ways to perform either in Java or in Report. Now should we choose Java or Reporting tool to implement the same?&lt;br /&gt;We should be little careful and should analyse which is the best way......&lt;br /&gt;From my personal experience, I would go with Java to perform business rule or performing some computation instead of report.&lt;br /&gt;In most reporting tool we have to first create the design file which will be translated to intermediate form like xml. Then this intermediate form will eventually converted to appropriate report form. Now if we choose reporting design file to perform computation or other business rule then sometime it would be difficult to make changes if any business rule got changed because it has to under above discussed translation. Also to modify the design file you require certain tool. For example if an application is running in production and require immediate modification then we can make the changes in Java and then redeploy into the server. It is also easy to maintain.&lt;br /&gt;&lt;br /&gt;Regards&lt;br /&gt;Monu&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-3144740118564309672?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/3144740118564309672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=3144740118564309672' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/3144740118564309672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/3144740118564309672'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/06/best-practice-use-of-report-in-javaj2ee.html' title='Best Practice : Use of Report in Java/j2ee'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-8881042485316319646</id><published>2008-08-30T13:58:00.015+05:30</published><updated>2008-10-05T09:25:28.843+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><title type='text'>Software Development Methodologies: A Practical Approach</title><content type='html'>&lt;div align="justify"&gt;In this article I would like to discuss about some of the most frequently used software development models. These are &lt;strong&gt;&lt;em&gt;Waterfall model, Iterative Model and Agile Methodology&lt;/em&gt;&lt;/strong&gt;. I have experience of working in all these models ; so like to share some of my view points. Before that let me quote you the definitions of those models.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Waterfall:&lt;/strong&gt; Wikipedia defines waterfall model as &lt;em&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/em&gt;&lt;em&gt;&lt;em&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p align="justify"&gt;&lt;em&gt;&lt;em&gt;" A &lt;/em&gt;&lt;a title="Sequence" href="http://en.wikipedia.org/wiki/Sequence"&gt;&lt;em&gt;sequential&lt;/em&gt;&lt;/a&gt;&lt;em&gt; &lt;/em&gt;&lt;a class="mw-redirect" title="Software development model" href="http://en.wikipedia.org/wiki/Software_development_model"&gt;&lt;em&gt;software development model&lt;/em&gt;&lt;/a&gt;&lt;em&gt; (a process for the creation of software) in which development is seen as flowing steadily downwards (like a &lt;/em&gt;&lt;a title="Waterfall" href="http://en.wikipedia.org/wiki/Waterfall"&gt;&lt;em&gt;waterfall&lt;/em&gt;&lt;/a&gt;&lt;em&gt;) through the phases of &lt;/em&gt;&lt;a title="Requirements analysis" href="http://en.wikipedia.org/wiki/Requirements_analysis"&gt;&lt;em&gt;requirements analysis&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, &lt;/em&gt;&lt;a title="Software design" href="http://en.wikipedia.org/wiki/Software_design"&gt;&lt;em&gt;design&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, &lt;/em&gt;&lt;a title="Implementation" href="http://en.wikipedia.org/wiki/Implementation"&gt;&lt;em&gt;implementation&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, &lt;/em&gt;&lt;a title="Software testing" href="http://en.wikipedia.org/wiki/Software_testing"&gt;&lt;em&gt;testing&lt;/em&gt;&lt;/a&gt;&lt;em&gt; (validation), &lt;/em&gt;&lt;a title="Enterprise application integration" href="http://en.wikipedia.org/wiki/Enterprise_application_integration"&gt;&lt;em&gt;integration&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, and &lt;/em&gt;&lt;a title="Software maintenance" href="http://en.wikipedia.org/wiki/Software_maintenance"&gt;&lt;em&gt;maintenance&lt;/em&gt;&lt;/a&gt;&lt;em&gt;. "&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/em&gt;&lt;p align="justify"&gt;&lt;/em&gt;&lt;/p&gt;&lt;div align="justify"&gt;&lt;strong&gt;Iterative:&lt;/strong&gt; Wikipedia defines Iterative model as &lt;/div&gt;&lt;p align="justify"&gt;&lt;em&gt;&lt;/p&gt;&lt;/em&gt;&lt;blockquote&gt;&lt;p align="justify"&gt;&lt;em&gt;" A cyclic &lt;/em&gt;&lt;a title="Software development process" href="http://en.wikipedia.org/wiki/Software_development_process"&gt;&lt;em&gt;software development process&lt;/em&gt;&lt;/a&gt;&lt;em&gt; developed in response to the weaknesses of the &lt;/em&gt;&lt;a title="Waterfall model" href="http://en.wikipedia.org/wiki/Waterfall_model"&gt;&lt;em&gt;waterfall model&lt;/em&gt;&lt;/a&gt;&lt;em&gt;. It is an essential part of the &lt;/em&gt;&lt;a class="mw-redirect" title="Rational Unified Process" href="http://en.wikipedia.org/wiki/Rational_Unified_Process"&gt;&lt;em&gt;Rational Unified Process&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, the &lt;/em&gt;&lt;a title="Dynamic Systems Development Method" href="http://en.wikipedia.org/wiki/Dynamic_Systems_Development_Method"&gt;&lt;em&gt;Dynamic Systems Development Method&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, &lt;/em&gt;&lt;a title="Extreme Programming" href="http://en.wikipedia.org/wiki/Extreme_Programming"&gt;&lt;em&gt;Extreme Programming&lt;/em&gt;&lt;/a&gt;&lt;em&gt; and generally the &lt;/em&gt;&lt;a title="Agile software development" href="http://en.wikipedia.org/wiki/Agile_software_development"&gt;&lt;em&gt;agile software development&lt;/em&gt;&lt;/a&gt;&lt;em&gt; frameworks. "&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;em&gt;&lt;p align="justify"&gt;&lt;/em&gt;&lt;/p&gt;&lt;div align="justify"&gt;&lt;strong&gt;Agile: &lt;/strong&gt;Wikipedia defines waterfall model as &lt;/div&gt;&lt;p align="justify"&gt;&lt;em&gt;&lt;/p&gt;&lt;/em&gt;&lt;blockquote&gt;&lt;p align="justify"&gt;&lt;em&gt;" A group of &lt;/em&gt;&lt;a title="Software development" href="http://en.wikipedia.org/wiki/Software_development"&gt;&lt;em&gt;software development&lt;/em&gt;&lt;/a&gt;&lt;em&gt; methodologies that promotes development &lt;/em&gt;&lt;a class="mw-redirect" title="Iterations" href="http://en.wikipedia.org/wiki/Iterations#Project_management"&gt;&lt;em&gt;iterations&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, open collaboration, and process adaptability throughout the life-cycle of the project. It chooses to get things do things in small increments, with minimal&lt;br /&gt;planning, rather than plan at length. This helps to minimize the overall risk,&lt;br /&gt;and allows the project to adapt to changes more quickly. "&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p align="justify"&gt;All the above methodologies are widely accepted. However these models has its own pros and cons.&lt;/p&gt;&lt;p align="justify"&gt;The success of any software is mostly depend on the type of development model we select. Waterfall model is better suited for those softwares where requirements remain constant. If we expect requirement changes during the developement of the software, it is very difficult to inject those changes in water fall model. For example if the software is in UAT phase and demand some changes in the requirement then all artifacts need to change. Also overall risk in terms of cost, effort and time will scale up many folds. This may even lead to change in design which will eventually effect the developement phase.&lt;/p&gt;&lt;p align="justify"&gt;Now how to deal with those sudden changes in the software with minimal cost and effort. Iterative and Agile models is targetting to solve these uncertainities with small time slice and minimal planning. Both iterative and agile model pass through entire software developement phase in each iteration. While in iterative model usually each iteration measured in months, agile model is measured in weeks. &lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;&lt;u&gt;Summary of these models:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;u&gt;Waterfall:&lt;/u&gt; No requirement changes&lt;/p&gt;&lt;p align="justify"&gt;&lt;u&gt;Iterative:&lt;/u&gt; Probability of Medium to less requirement changes&lt;/p&gt;&lt;p align="justify"&gt;&lt;u&gt;Agile:&lt;/u&gt; Requirement Changes&lt;/p&gt;&lt;p align="justify"&gt;&lt;/p&gt;&lt;p align="justify"&gt;Regards&lt;/p&gt;&lt;p align="justify"&gt;Monu&lt;br /&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-8881042485316319646?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/8881042485316319646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=8881042485316319646' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/8881042485316319646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/8881042485316319646'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/08/software-development-methodologies.html' title='Software Development Methodologies: A Practical Approach'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-3085397358785728795</id><published>2008-08-12T12:04:00.000+05:30</published><updated>2008-11-19T00:49:59.869+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Power builder'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Application'/><title type='text'>Power Builder to Web Application Migration</title><content type='html'>&lt;div align="justify"  style="font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;Power builder is a client/server application development tool. It is relatively simpler to develop complex application with power builder. Due to easy to access web application and other reasons, companies are fast migrating to web application version using various languages like java/j2ee, php, .net so on and forth.&lt;br /&gt;&lt;br /&gt;Re-platforming of power builder (PB) version of application to web application is NOT easy. Care has to be taken with proper design and prototyping. I have tried to list down a few points which might be helpful.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;div align="justify"  style="font-family:verdana;"&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Single most important factor is designing. Designer has to understand the current features and implementation of the application. Also he/she has to be able to visualize the web application version and how to implement those features. Designer should try to keep user experience same as PB application. ALL SIMPLE POWER BUILDER features are actually complex when realizing in web application.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Prototyping is useful in visualizing the converted version of PB application. This is the best time to make changes as per client request. Also do not forget to take an approval from end user. Prototype is the best way to convey the user about the changes from PB. Also convinced them with simple to understand explanation.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Displaying list of records in the browser is the toughest job in migration project like this. PB can retrieve thousands of rows within a fraction of second while web application can not show these many records with same amount of time. Try to display minimum number of records with pagination. You may need to convince the user for that.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;PB has an excellent and powerful concepts called data window. You can do anything and everything using Data Window. I doubt any programming language will have something like data window. So pay special attention to data window and extract all the properties pertaining to it. Take a close look at the sorting, column properties etc.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Finally compare the data being shown in both the version of application including default sort order, masking of fields, coloring etc.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;p align="justify"&gt;&lt;span style="font-size:100%;"&gt;I will be happy if readers can increase this list with there experience and skill. Comments are welcome.&lt;br /&gt;&lt;br /&gt;Regards&lt;br /&gt;Monu&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-3085397358785728795?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/3085397358785728795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=3085397358785728795' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/3085397358785728795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/3085397358785728795'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/06/migration-of-application-developed-in.html' title='Power Builder to Web Application Migration'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-6936570584648540398</id><published>2008-08-05T14:32:00.001+05:30</published><updated>2008-10-05T09:59:40.856+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='RBDe'/><title type='text'>How to resume ssh after installing IBM RBDe 7.1 in Linux OS</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Recently I have installed IBM RBDe 7.1 in Linux OS. It has installed and running successfully. However remote connection to the linux system STOP working. Usually we use Secure Shell (ssh) to connect from windows/other os to connect to Linux machine. ssh uses port 22 by default. When I installed RBDe 7.1 I was unable to connect to Linux from windows through ssh. This is probably because while installing RBDe it set some rules or some other manipulation to iptables. To resume remote connection, open a terminal in Linux then enter the command &lt;strong&gt;iptables -F&lt;/strong&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;From man iptables:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;iptables - administration tool for IPv4 packet filtering and NAT &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;-F, --flush [chain]&lt;br /&gt;Flush the selected chain (all the chains in the table if none is given). This is equivalent to deleting all the rules one by one. &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-6936570584648540398?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/6936570584648540398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=6936570584648540398' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/6936570584648540398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/6936570584648540398'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/06/how-to-resume-ssh-after-installing-ibm.html' title='How to resume ssh after installing IBM RBDe 7.1 in Linux OS'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-8906198731244982577</id><published>2008-07-24T15:37:00.000+05:30</published><updated>2008-10-05T09:29:02.534+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><title type='text'>How to resolve problem with X11GraphicsEnvironment in unix</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:verdana;"&gt;Are you planning to display report or graphics in web application running in unix operating system? Are you getting error similar to below error?&lt;/span&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:verdana;"&gt;java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable. at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method) at sun.awt.X11GraphicsEnvironment.&lt;clinit&gt;(X11GraphicsEnvironment.java:175)&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;This error is very common in unix with NO X environment. Here, I am trying to give couple of troubleshooting steps. Those are as follows:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Set up headless mode&lt;/strong&gt;: To set up headless mode, set the appropriate system property by using the setProperty() method. This method enables you to set the desired value for the system property that is indicated by the specific key.&lt;br /&gt;&lt;em&gt;System.setProperty("java.awt.headless", "true");&lt;/em&gt; &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Set Java Environment Variable:&lt;/strong&gt; &lt;em&gt;Djava.awt.headless=true&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;"&gt;In JVM Process Definition of WAS, we need to create variable DISPLAYwith port # on which X11 is running, the Value field (default is:0.0).&lt;br /&gt;example :&lt;br /&gt;&lt;em&gt;DISPLAY=0.0&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;X11 server is running:&lt;/strong&gt; If running please note the port number by issuing following command&lt;br /&gt;&lt;em&gt;ps -ef egrep X11&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;"&gt;Setting the DISPLAY variable using script or in cell by issuing,setenv &lt;em&gt;DISPLAY=&lt;server&gt;:0.0 export DISPLAY&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;"&gt;Use the &lt;em&gt;xhost + &lt;/em&gt;command to make this variable to global scope with above&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p align="justify"&gt;&lt;span style="font-family:verdana;"&gt;Follow above steps one at a time and carry a test. &lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:verdana;"&gt;Regards&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:verdana;"&gt;Monu&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;/div&gt;&lt;em&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-8906198731244982577?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/8906198731244982577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=8906198731244982577' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/8906198731244982577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/8906198731244982577'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/06/how-to-resolve-problem-with.html' title='How to resolve problem with X11GraphicsEnvironment in unix'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-8853738764582948371</id><published>2008-07-23T17:49:00.000+05:30</published><updated>2008-10-05T09:30:32.954+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSP'/><category scheme='http://www.blogger.com/atom/ns#' term='Java/J2EE'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Application'/><title type='text'>Implementation of SaveAs functionality in JSP as well as Servlet</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:verdana;"&gt;Implementing SaveAs functionality in java/j2ee may not be a big deal. However for developers like me it is sounding difficult. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;em&gt;Every complex problem has a simple solution&lt;/em&gt; - atleast I believe that.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;For those folks who found implementing SaveAs functionality in web application is difficult, this article will crack it.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Description:&lt;/strong&gt; Implementing save as functionality in jsp as well as using servlet.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Assumptions&lt;/strong&gt;: I assume that content of the file is already generated or file is generated in the server. Also assumes that we know the file type. Now browser should ask the user to save the file in desired location or open the file in appropriate editor.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Implementation in JSP&lt;/strong&gt;: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;FileType: excel&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Code: response.setContentType("application/vnd.ms-excel")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;FileType: pdf&lt;br /&gt;Code: response.setContentType("application/pdf")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;FileType: text&lt;br /&gt;Code: response.setContentType("text/plain")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;FileType: csv&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Code: response.setContentType("application/octet-stream")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;FileType: csv&lt;br /&gt;Code: response.setContentType("application/octet-stream")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Additionally you can use following statement which will set the filename&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;response.setHeader ("Content-Disposition", "attachment;filename=\""+ fileName +"\"");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Implementation in Servlet&lt;/strong&gt;: In servlet you can do something like below:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;//set the content type based on file type&lt;br /&gt;if(fileType.equalsIgnoreCase("PDF")){&lt;br /&gt;response.setContentType ("application/pdf");&lt;br /&gt;}&lt;br /&gt;if(fileType.equalsIgnoreCase("TEXT")){&lt;br /&gt;response.setContentType ("text/plain");&lt;br /&gt;}&lt;br /&gt;if(fileType.equalsIgnoreCase("CSV")){&lt;br /&gt;response.setContentType ("application/octet-stream");&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;//set the file name&lt;br /&gt;response.setHeader ("Content-Disposition", "attachment;filename=\""+ fileName +"\"");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;//get the file content&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;File file = new File(filePath);&lt;br /&gt;// Create the byte array to hold the data&lt;br /&gt;byte[] bytes = null;&lt;br /&gt;InputStream is;&lt;br /&gt;try {&lt;br /&gt;is = new FileInputStream(file);&lt;br /&gt;// Get the size of the file&lt;br /&gt;long length = file.length();&lt;br /&gt;// You cannot create an array using a long type.&lt;br /&gt;// It needs to be an int type.&lt;br /&gt;// Before converting to an int type, check&lt;br /&gt;// to ensure that file is not larger than Integer.MAX_VALUE.&lt;br /&gt;if (length &gt; Integer.MAX_VALUE) {&lt;br /&gt;// File is too large&lt;br /&gt;}&lt;br /&gt;bytes = new byte[(int)length];&lt;br /&gt;// Read in the bytes&lt;br /&gt;int offset = 0;&lt;br /&gt;int numRead = 0;&lt;br /&gt;while (offset &lt; numread="is.read(bytes,"&gt;= 0) {&lt;br /&gt;offset += numRead;&lt;br /&gt;}&lt;br /&gt;// Ensure all the bytes have been read in&lt;br /&gt;if (offset &lt;&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;response.setContentLength(bytes.length);&lt;br /&gt;response.getOutputStream().write(bytes);&lt;br /&gt;response.getOutputStream().close(); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Common Mistake&lt;/strong&gt;: I have seen developers try to write the file content into response object inside jsp which is illegal because server is already finished writing onto the response.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Regards&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Monu&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-8853738764582948371?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/8853738764582948371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=8853738764582948371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/8853738764582948371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/8853738764582948371'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/06/implementation-of-saveas-functionality.html' title='Implementation of SaveAs functionality in JSP as well as Servlet'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-3550929394818511338</id><published>2008-07-16T11:51:00.001+05:30</published><updated>2008-10-05T10:01:25.089+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='EGL'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Application'/><title type='text'>EGL: Handling session timeout</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Session Handling is one of the most important task in web application. Same is true for EGL generated Java/j2ee code. In this article we will discuss about session handling in EGL targetting to Java/J2ee code. Also we will see how to deal with the scenerio when user tries to access the application pages without login.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Use Case:&lt;/u&gt;&lt;br /&gt;1) When session expires, if the user clicks any of the link/buttons in the application, the application should log out and take the user to login page&lt;br /&gt;&lt;br /&gt;2) When user enter the url of a page directly in the brower without validating itself, it should take you to login page.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;One possible approach:&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;For session handling to work firstly we have to make an entry in the web.xml as session-timeout set to integer variable greater than 0.&lt;br /&gt;&lt;br /&gt;In the application we should have a template. This template will be used by all the pages in the application except for login page. In general template is used to get a consistent look and feel through out the application. It may have header, footer, menus and so on. That means before loading individual pages it will first load template. So we have to write the session handling code in the template. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;u&gt;Sample code snippet:&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;You can do something like below in onConstructor&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;if(userId == null StrLib.clip(userId) == "")&lt;br /&gt;urlPath string = urlType+server+":"+serverPort+contextPath;&lt;br /&gt;//clear all session attributes&lt;br /&gt;J2EELib.clearEGLSessionAttrs();&lt;br /&gt;forward to url urlPath;&lt;br /&gt;end&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;This way we can achieve the use case 2.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Regards&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Monu&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-3550929394818511338?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/3550929394818511338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=3550929394818511338' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/3550929394818511338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/3550929394818511338'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/06/how-to-session-timeout-and-restrict.html' title='EGL: Handling session timeout'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-9215724049600204813</id><published>2008-06-21T10:43:00.002+05:30</published><updated>2008-10-05T09:43:15.383+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Application'/><title type='text'>5 Key Points Resolving Application Issues in Production</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:verdana;"&gt;No software is bug free. Even time critical application may fail at some or other point of time. There are many instances when a particular application running in production fail.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;"&gt;That is why care should be taken when deploying application in production when application is ready to use by end user. I have shortlist 5 key points deal with those issues.&lt;/span&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Maintaining Log File&lt;/strong&gt;: Always maintain a log file to track the activities of user in production. If a issue arise in the application, first look into the log file and try to analyse the problem. So make sure your log file capture all critical application scenerio in the log file.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Sit with the user to understand the issue&lt;/strong&gt;: If the log file does not help in finding the issue, sit with the client/user to understand the issue. Record the steps user is performing so that you yourself can reproduce the issue later.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Reproduction of issue in development environment&lt;/strong&gt;: By following recorded steps try to reproduce the issue in development environment. This is a very important step and has to happen. Once reproduced the issue can be resolved very easily.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Creating duplicate environment in Production (if applicable):&lt;/strong&gt; If issue can not be reproduced in development environment, then there is a serious problem. Try to create a duplicate environment in production if user allows to do that. Then fix the issue in production.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Run automated test cases&lt;/strong&gt;: After fixing the issue either in production or development run your automated test cases to make sure that application is running fine and there is no side effect due to issue fix&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p align="justify"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:verdana;"&gt;Regards&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-family:verdana;"&gt;Monu&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-9215724049600204813?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/9215724049600204813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=9215724049600204813' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/9215724049600204813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/9215724049600204813'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/06/5-key-points-resolving-application.html' title='5 Key Points Resolving Application Issues in Production'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-1065938878138499056</id><published>2008-06-18T23:22:00.003+05:30</published><updated>2008-09-17T16:19:40.258+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='knowledge Transfer'/><title type='text'>Process of Knowledge Transfer : Part Three</title><content type='html'>&lt;span style="font-family:verdana;"&gt;In continuation with &lt;/span&gt;&lt;a href="http://explore-your-thought-process.blogspot.com/2008/06/process-of-knowledge-transfer-part-two.html" rel="tag"&gt;&lt;span style="font-family:verdana;"&gt;Process of Knowledge Transfer : Part Two&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt; we will discuss about various methods of Knowledge Transfer.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;&lt;span style="font-family:verdana;"&gt;Methods of Knowledge Transfer&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The employee who is giving KT should aware of some basic KT methods which accelerate the handover process.&lt;br /&gt;&lt;u&gt;Following some or all below methods helps greatly:&lt;/u&gt;&lt;br /&gt;i) &lt;u&gt;Preparation of Documents&lt;/u&gt;: There should be some project related documents like requirement specs and/or technical specs and/or manuals or any other project related documents. These documents should be distributed to the employees who is (are) taking the KT. These documents give a feel of the project.&lt;br /&gt;ii) &lt;u&gt;Preparation of presentation&lt;/u&gt;: Distribution of project related presentation also helps in handover process.&lt;br /&gt;iii) &lt;u&gt;Identification of key flows&lt;/u&gt;: The employee who is giving KT should prepare certain key flows of the project/application. Number of key flows should depend on the complexity of the project. Key flows should be high level design breaking of which will break the system. Key flows should not be too fine grain. In a small size project key flows may vary from 5 to 10 flows. After identifying the key flows it should be explained to the employee who is (are) taking the KT.&lt;br /&gt;iv) &lt;u&gt;Debugging of the project&lt;/u&gt;: Debugging is the best way to know the sequence of events happening inside the project. Pick one key flow at a time and allow the developers to drill down.&lt;br /&gt;v) &lt;u&gt;Testing the application&lt;/u&gt;: Presented the developers with the test cases and allow them to test the application.&lt;br /&gt;vi) &lt;u&gt;Identification of critical and common defect&lt;/u&gt;: If the project is in support and maintenance phase, it would definitely encountered certain critical and common defect during the course. Identify those defects and presented to the employee who is taking KT. Analyze those defects and provide some tactics to find the possible solution.&lt;br /&gt;vii) &lt;u&gt;Workshop of defect analysis and fix&lt;/u&gt;: There should be a workshop in which all critical and similar defects should be presented to the developer and allow them to analyze the defect and come out with probable fix.&lt;br /&gt;viii) &lt;u&gt;Workshop to correct the breaking system&lt;/u&gt;: Break the application by commenting out certain lines of codes and allow developers to correct the system.&lt;br /&gt;ix) &lt;u&gt;Real time defect fix&lt;/u&gt;: During the process of KT, last task could be give opportunities to analyze the incoming simple defect to developers and also allow them fix those.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The discussed Knowledge Transfer framework should NOT considered as a burden or rigid structure. Rather it is a process which can be taken as base upon which every one will follow a common path for the common goal. It can be modified and enhanced to become a mature framework. Implementer should understand the importance of knowledge transfer and management should understand the time required to accomplish these activities.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Regards&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Monu&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-1065938878138499056?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/1065938878138499056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=1065938878138499056' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/1065938878138499056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/1065938878138499056'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/06/process-of-knowledge-transfer-part.html' title='Process of Knowledge Transfer : Part Three'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-6399971792167851753</id><published>2008-06-18T23:12:00.005+05:30</published><updated>2008-09-17T16:20:21.009+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='knowledge Transfer'/><title type='text'>Process of Knowledge Transfer : Part Two</title><content type='html'>&lt;span style="font-family:verdana;"&gt;In continuation with &lt;a href="http://explore-your-thought-process.blogspot.com/2008/06/process-of-knowledge-transfer-part-one.html" rel="tag"&gt;Process of Knowledge Transfer : Part One&lt;/a&gt; we will discuss about various factors affecting Knowledge Transfer.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold;font-family:verdana;" &gt;Factors Affecting Knowledge Transfer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;To ensure an orderly transition of responsibilities we need to define a process. Let us discuss the various process oriented mechanism that help us achieving smooth knowledge transfer. There are various factors that affect the knowledge transfer process. The below mentioned factors are valid for both form of knowledge transfer i.e. for employee who is moving out of the project to other project and for employee who is leaving the organization. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;1) &lt;/span&gt;&lt;span style="FONT-WEIGHT: bold;font-family:verdana;" &gt;Awareness&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;: This is very crucial factor as the person who is taking the knowledge transfer has to understand the importance of his involvement. Project leader or mentor or project manager (or any one whom the developer is reporting to) has to motivate the developer to prepare themselves with a positive note. Developers should be advised to ask tons of questions about the project. Developers and the person who is giving the knowledge transfer should not follow any shortcut learning. Communicate to the team that person “A” is leaving and that person “B” is replacing.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;2) &lt;/span&gt;&lt;span style="FONT-WEIGHT: bold;font-family:verdana;" &gt;Preparation of Handover Plan&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;: Planning is important for any successful task. Similarly handing over the responsibility has to be carried out in a planned manner so that the task can be accomplished more affectively and efficiently. The employee who is giving the KT should prepare the handover plan in case the employee is moving out of the project and the NOT the organization. In the case of employee who is leaving the organization should prepare the handover plan together with another team member (can be team leader or manager) who is aware of the project. While creating the plan the employee has to put himself into the shoe of the developer who does not know anything about the project. Time is an important factor to accomplish these tasks. The organization has to sort out the time factor.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;3) &lt;/span&gt;&lt;span style="FONT-WEIGHT: bold;font-family:verdana;" &gt;Review of Handover Plan&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;: Review of the handover plan has to be carried out. It has to approve by concern authority. This is very important as the person who is leaving the organization will not be available for further help. So it has to make sure that the handover plan is complete and provide enough information for the developer to know insight of the project.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;4)&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold;font-family:verdana;" &gt; Timeframe&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;: How long handover will continue? How much time does the developer requires contributing towards the project activities? The concern authority has to discuss with both the employees (one who is giving KT and who is (are) taking KT) to come out with the timeframe. Again this can be little flexible for the employee who is moving out of the project and NOT the organization because he/she will be available even after KT. But for the employee who is leaving the organization, the authority has to decide it cautiously. Depending on the complexity of the project timeframe will vary.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;5)&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold;font-family:verdana;" &gt;Weekly Meeting on Status and progress of KT&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;: Activity or task tracking helps the organization to see if the realization of the plan is happening as schedule or any diversion. This can be achieved by weekly meeting on status and progress report. The concern authority should discuss with the developer to see how comfortable he/she is becoming with the project.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="FONT-FAMILY: verdana"&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;In part Three, we will discuss about Methods of Knowledge Transfer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Regards&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Monu&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-6399971792167851753?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/6399971792167851753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=6399971792167851753' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/6399971792167851753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/6399971792167851753'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/06/process-of-knowledge-transfer-part-two.html' title='Process of Knowledge Transfer : Part Two'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-6670312180841357429</id><published>2008-06-18T22:53:00.004+05:30</published><updated>2008-09-17T16:20:39.380+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='knowledge Transfer'/><title type='text'>Process of Knowledge Transfer : Part One</title><content type='html'>&lt;span style="font-family:verdana;font-size:100%;"&gt;Knowledge transfer is the process of transferring knowledge from one individual to another by means of mentoring, training, documentation, and other means. It is an important aspect of project management and life cycle. It is not uncommon practice to transfer information from one person to another during a project life cycle. Lack of proper knowledge transfer may lead the project to instable position. Those projects which are already in production may need special attention because different people contribute to the project at different time.&lt;br /&gt;&lt;br /&gt;Process oriented knowledge transfer is an integral part any organization. There are typically two scenarios when knowledge transfer has to happen during the life of a particular project.&lt;br /&gt;&lt;br /&gt;Firstly, when an existing employee moves out of the project and take up some new roles and responsibility. Success of any project depends on the methodology or process it flows during the life of the project. It follows a defined life cycle and process. Likewise accomplishment of a particular project, movement among employee is desirable for the betterment of the organization. At certain point of time developer has to step up to take the responsibility of a designer, designer has to take up the responsibility of architect. Similarly sooner or later project leader has to become project manager. In order to achieve these, people move in and out of project at regular interval. It is therefore desirable and responsibility of the employee to do knowledge transfer so that internal movement does not affect the project activities and client expectation.&lt;br /&gt;&lt;br /&gt;Secondly, when an employee leaves the company, proper knowledge transfer become very crucial. This is because he/she won’t be available to provide any further assistance.&lt;br /&gt;In Part Two, we will discuss about various factors affecting knowledge transfer.&lt;br /&gt;&lt;br /&gt;Regards&lt;br /&gt;Monu&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-6670312180841357429?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/6670312180841357429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=6670312180841357429' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/6670312180841357429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/6670312180841357429'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/06/process-of-knowledge-transfer-part-one.html' title='Process of Knowledge Transfer : Part One'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-4127718780111820453</id><published>2008-05-26T15:40:00.000+05:30</published><updated>2008-10-05T09:32:31.797+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Application'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>A Topic of Debate : Web 1.0 vs Web 2.0 vs Web 3.0</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:lucida grande;"&gt;Firstly I would like to quote the definitions of these terminologies from &lt;/span&gt;&lt;a href="http://en.wikipedia.org/"&gt;&lt;span style="font-family:lucida grande;"&gt;Wikipedia&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:lucida grande;"&gt; : &lt;/span&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;p align="justify"&gt;" &lt;em&gt;&lt;span style="font-family:lucida grande;"&gt;Web 1.0 refers to the state of the &lt;/span&gt;&lt;/em&gt;&lt;a title="World Wide Web" href="http://en.wikipedia.org/wiki/World_Wide_Web"&gt;&lt;em&gt;&lt;span style="font-family:lucida grande;"&gt;World Wide Web&lt;/span&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;span style="font-family:lucida grande;"&gt;, and website design style before the &lt;/span&gt;&lt;/em&gt;&lt;a title="Web 2.0" href="http://en.wikipedia.org/wiki/Web_2.0"&gt;&lt;em&gt;&lt;span style="font-family:lucida grande;"&gt;Web 2.0&lt;/span&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;span style="font-family:lucida grande;"&gt; craze, and included most &lt;/span&gt;&lt;/em&gt;&lt;a class="mw-redirect" title="Websites" href="http://en.wikipedia.org/wiki/Websites"&gt;&lt;em&gt;&lt;span style="font-family:lucida grande;"&gt;websites&lt;/span&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;span style="font-family:lucida grande;"&gt; in the period between &lt;/span&gt;&lt;/em&gt;&lt;a title="1994" href="http://en.wikipedia.org/wiki/1994"&gt;&lt;em&gt;&lt;span style="font-family:lucida grande;"&gt;1994&lt;/span&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;span style="font-family:lucida grande;"&gt; and &lt;/span&gt;&lt;/em&gt;&lt;a title="2004" href="http://en.wikipedia.org/wiki/2004"&gt;&lt;em&gt;&lt;span style="font-family:lucida grande;"&gt;2004&lt;/span&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;span style="font-family:lucida grande;"&gt;. It is important to note that "Web 1.0" is a &lt;/span&gt;&lt;/em&gt;&lt;a title="Retronym" href="http://en.wikipedia.org/wiki/Retronym"&gt;&lt;em&gt;&lt;span style="font-family:lucida grande;"&gt;retronym&lt;/span&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;span style="font-family:lucida grande;"&gt;. That is to say that&lt;br /&gt;it has been retroactively named only after the introduction of the term "Web 2.0", and has very loosely defined boundaries. For the most part websites were a strictly one-way published media, similar to the &lt;/span&gt;&lt;/em&gt;&lt;a class="mw-redirect" title="Gopher protocol" href="http://en.wikipedia.org/wiki/Gopher_protocol"&gt;&lt;em&gt;&lt;span style="font-family:lucida grande;"&gt;Gopher protocol&lt;/span&gt;&lt;/em&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;&lt;em&gt;&lt;span style="font-family:lucida grande;"&gt; that came before it. &lt;/span&gt;&lt;/em&gt;"&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="justify"&gt;"&lt;em&gt; Web 2.0 is a term describing the trend in the use of &lt;/em&gt;&lt;a title="World Wide Web" href="http://en.wikipedia.org/wiki/World_Wide_Web"&gt;&lt;em&gt;World Wide Web&lt;/em&gt;&lt;/a&gt;&lt;em&gt; technology and &lt;/em&gt;&lt;a title="Web design" href="http://en.wikipedia.org/wiki/Web_design"&gt;&lt;em&gt;web design&lt;/em&gt;&lt;/a&gt;&lt;em&gt; that aims to enhance &lt;/em&gt;&lt;a title="Creativity" href="http://en.wikipedia.org/wiki/Creativity"&gt;&lt;em&gt;creativity&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, information sharing, and, most notably, collaboration among users. These concepts have led to the development and evolution of web-based communities and &lt;/em&gt;&lt;a title="Web service" href="http://en.wikipedia.org/wiki/Web_service"&gt;&lt;em&gt;hosted services&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, such as &lt;/em&gt;&lt;a class="mw-redirect" title="Social networking sites" href="http://en.wikipedia.org/wiki/Social_networking_sites"&gt;&lt;em&gt;social-networking sites&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, &lt;/em&gt;&lt;a title="Wiki" href="http://en.wikipedia.org/wiki/Wiki"&gt;&lt;em&gt;wikis&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, &lt;/em&gt;&lt;a title="Blog" href="http://en.wikipedia.org/wiki/Blog"&gt;&lt;em&gt;blogs&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, and &lt;/em&gt;&lt;a title="Folksonomy" href="http://en.wikipedia.org/wiki/Folksonomy"&gt;&lt;em&gt;folksonomies&lt;/em&gt;&lt;/a&gt;&lt;em&gt;. &lt;/em&gt;"&lt;/p&gt;&lt;p align="justify"&gt;&lt;br /&gt;"&lt;em&gt; Web 3.0 is a term used to describe the future of the &lt;/em&gt;&lt;a title="World Wide Web" href="http://en.wikipedia.org/wiki/World_Wide_Web"&gt;&lt;em&gt;World Wide Web&lt;/em&gt;&lt;/a&gt;&lt;em&gt;. Following&lt;br /&gt;the introduction of the phrase "&lt;/em&gt;&lt;a title="Web 2.0" href="http://en.wikipedia.org/wiki/Web_2.0"&gt;&lt;em&gt;Web 2.0&lt;/em&gt;&lt;/a&gt;&lt;em&gt;" as a description of the recent evolution of the Web, many technologists, journalists, and industry leaders have used the term "Web 3.0" to hypothesize about a future wave of Internet innovation. &lt;/em&gt;"&lt;/p&gt;&lt;/blockquote&gt;&lt;p align="justify"&gt;&lt;br /&gt;From above definitions it is really difficult to find a given web application should call as Web 1.0 or Web 2.0. However it is certain that any web application is Web 1.0 compatibility but which application is to call Web 2.0 is a matter of debate. There is no specification which independently certifies a given web application as Web 2.0 compatibility. People thinks any application which has ajax capability or where users can upload pictures, display them, and modify as in when required or all colorful designs with 3D shades is to be called as Web 2. All these features were pretty much available in sites developed before the term "Web 2.0" was coined. &lt;/p&gt;&lt;p align="justify"&gt;First of all we have to come up with specification which defines the boundaries of Web 2.0. Otherwise the actual meaning of the term will go in vein and left out with just a technical jargon to represent a complex, multi-feature web application.&lt;/p&gt;&lt;p align="justify"&gt;When people around the world struggling to understand the meaning and semantics of Web 2.0, there is one more terminology revolving around us as Web 3.0 which is looking as the future course of web application. It is always good to look at the future and set up certain milestone. But at the same time we have to benchmark the current stand and move ahead.&lt;/p&gt;&lt;p align="justify"&gt;Readers are requested to provide comments which help us to understand the underlying meaning of these jargons.&lt;/p&gt;&lt;p align="justify"&gt;Regards&lt;/p&gt;&lt;p align="justify"&gt;Monu&lt;/p&gt;&lt;p align="justify"&gt;&lt;/span&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;/p&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;p align="justify"&gt;&lt;em&gt;&lt;/p&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-4127718780111820453?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/4127718780111820453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=4127718780111820453' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/4127718780111820453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/4127718780111820453'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/06/topic-of-debate-web-10-vs-web-20-vs-web.html' title='A Topic of Debate : Web 1.0 vs Web 2.0 vs Web 3.0'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-613640346183551070</id><published>2008-05-18T22:23:00.010+05:30</published><updated>2008-10-05T10:12:35.005+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='EGL'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Application'/><title type='text'>EGL: Handling dynamic schema</title><content type='html'>&lt;div align="justify"&gt;There are different ways to handle dynamic schema in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;EGL&lt;/span&gt;. One of the very common approach is to get the schema from the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;jvm&lt;/span&gt; properties in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;egl&lt;/span&gt; handler and store it in the session and set it in a record "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;StatusRec&lt;/span&gt;" and pass to the data access layer as argument. For more details on this you can refer to &lt;a href="http://64.233.183.104/search?q=cache:YfYe-ju-9dUJ:www.jsayles.com/ibm/TableNamesVariable.doc+EGL+StatusREc&amp;amp;hl=en&amp;amp;ct=clnk&amp;amp;cd=1"&gt;http://64.233.183.104/search?q=cache:YfYe-ju-9dUJ:www.jsayles.com/ibm/TableNamesVariable.doc+EGL+StatusREc&amp;amp;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;hl&lt;/span&gt;=en&amp;amp;ct=&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;clnk&lt;/span&gt;&amp;amp;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;cd&lt;/span&gt;=1&lt;/a&gt;" Below statement is quoted from this link&lt;br /&gt;"&lt;em&gt;You must then set the schema name in each function prior to running the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;EGL&lt;/span&gt; I/O statement. It is assumed that the schema will be a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;programmatically&lt;/span&gt; determined value and would be stored in session. Therefore, this example assumes the schema has been set in a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;jsfHandler&lt;/span&gt; by reading the data out of the session and passing it through the record &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;StatusRecord&lt;/span&gt; (or status as generated by the data Access Application Wizard). The reason this record is used is that all functions created using the wizard include the status record in the pass parameters&lt;/em&gt;"-Mark Evans, Rational – &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;EGL&lt;/span&gt; Development, IBM Software Group.&lt;br /&gt;However I feel there is a overhead in this approach that is each time you want to make a database call you need to get the schema from the session and populate the schema variable in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;statusRec&lt;/span&gt; and then send it from &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;egl&lt;/span&gt; handler to data layer. The overhead in this approach is you have to pass one extra record as parameter every time you make a call.There is another solution for reading the schema in data layer itself without passing schema name from handler every time. Create a library which will probably have two methods &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;setDatabaseNameSchema&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;getDatabaseNameSchema&lt;/span&gt;. Get method will read the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;jvm&lt;/span&gt; properties and return to data layer. Set can be used to set the schema from anywhere. Set is useful when you are performing unit testing when your server is not ON.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-613640346183551070?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/613640346183551070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=613640346183551070' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/613640346183551070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/613640346183551070'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/05/providing-dynamic-database-schema-in.html' title='EGL: Handling dynamic schema'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-7144492604153851376</id><published>2008-05-16T11:17:00.001+05:30</published><updated>2008-10-05T10:20:07.743+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reports'/><category scheme='http://www.blogger.com/atom/ns#' term='EGL'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Application'/><title type='text'>EGL: Integrating Jasper Report</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;&amp;shy;&amp;shy;This section describes how to integrate the Jasper reports to the Enterprise Generation Language EGL Web application.&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Required library files&lt;/u&gt;:-&lt;br /&gt;1) The following jar files need to be included in the Web-INF – lib&lt;br /&gt;a. Jasper-Reports 2.0.5.jar&lt;br /&gt;b. iText.jar – for PDF format to be output.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Steps for integration of Jasper file into the application&lt;/u&gt;:-&lt;br /&gt;1) The jasper file generated earlier has to be included in the Java resource folder of the application.&lt;br /&gt;2) Create an array for holding the data of the report.&lt;br /&gt;3) Export the report using the “Report” and “Report Data” object.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Initialize the report data object&lt;/u&gt;:-&lt;br /&gt;a. Data – assign the report data array to the data property of the report data object.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Initialize the following properties of the report object&lt;/u&gt;:-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;a. reportDesignFile – Path of the jasper file(.jasper file).&lt;br /&gt;b. reportDestinationFile – Path of the temporary report file (.jrprint file).&lt;br /&gt;c. reportData – assign the report data object to this property.&lt;br /&gt;d. reportExportFile – Name of the file to which the report has to be exported.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Call ReportLib functions&lt;/u&gt;:-&lt;br /&gt;a. FillReport method – send the report object and Datasource.reportData as parameters to this method.&lt;br /&gt;b. exportReport method – send the report object and the export format as parameters to this method. Available export formats are - “html”, “pdf”,”text”,”csv”,”xml”.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;u&gt;Code Snippet&lt;/u&gt;:-&lt;br /&gt;//report object&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;report Report = new Report();&lt;br /&gt;//report data object&lt;br /&gt;reportData ReportData = new ReportData();&lt;br /&gt;//jasper file location&lt;br /&gt;report.reportDesignFile = jasperLocation;&lt;br /&gt;//temp file location&lt;br /&gt;report.reportDestinationFile = reportFileLocation + exportFileName + ".jrprint";&lt;br /&gt;//assign data array to report data object&lt;br /&gt;reportData.data = &lt;&lt;data&gt;&gt;;&lt;br /&gt;//assign data to report&lt;br /&gt;report.reportData = reportData;&lt;br /&gt;//complete report file location&lt;br /&gt;filePathName string = reportFileLocation + reportFileName;&lt;br /&gt;//assign the export file name&lt;br /&gt;report.reportExportFile = filePathName;&lt;br /&gt;//fill the report&lt;br /&gt;ReportLib.fillReport(report, DataSource.reportData);&lt;br /&gt;//Export report to the required formatReportLib.exportReport(report, ExportFormat.html);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Monu&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-7144492604153851376?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/7144492604153851376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=7144492604153851376' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/7144492604153851376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/7144492604153851376'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/06/how-to-integrate-jasper-report-with.html' title='EGL: Integrating Jasper Report'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-6991771684536363633</id><published>2008-04-14T02:36:00.002+05:30</published><updated>2008-10-05T10:21:55.240+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='DB2'/><category scheme='http://www.blogger.com/atom/ns#' term='EGL'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Application'/><title type='text'>EGL: Handling DB2 sqlcode:-904</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Recently I have come across an sql error while trying to execute a sql in DB2 version 7 from web application. The application is developed in Enterprise Generation Language (EGL). The query retrieves huge result set of around 14000 rows. The sql error reads as "UNSUCCESSFUL EXECUTION CAUSED BY AN UNAVAILABLE RESOURCE. REASON 00C90096, TYPE OF RESOURCE 00000302, AND RESOURCE NAME ....[sqlstate:57011][sqlcode:-904]". However the same sql is executed successfully from DB2 SQL client.&lt;br /&gt;&lt;br /&gt;After lot of R&amp;amp;D, we tried to set isolation level in the SQL. By default db2 is set to Repeatable Read (RR) level. We have changed this level to Uncommitted Read (UR). Great it works.&lt;br /&gt;&lt;br /&gt;Example&lt;br /&gt;&lt;br /&gt;Select * from Emp order by empName WITH UR;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;p align="justify"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Regards&lt;/span&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;span style="font-size:85%;"&gt;Monu&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-6991771684536363633?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/6991771684536363633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=6991771684536363633' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/6991771684536363633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/6991771684536363633'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/06/handling-db2-sqlcode-904-in-web.html' title='EGL: Handling DB2 sqlcode:-904'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-2088636927523328563</id><published>2008-04-04T00:07:00.007+05:30</published><updated>2009-04-15T17:57:01.162+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='online survey'/><title type='text'>Earn Money Online</title><content type='html'>&lt;strong&gt;&lt;span style="color:#000000;"&gt;Now you can increase your revenue by taking part in online free surveys. At this recession period when everyone wants to save each cent they earn; people are looking for alternative ways to increase their revenue. And that's the demand of the situation. This information is to share with you guys that online surveys are of the easiest way in this regard. I have tried couple of such organization who offers online surveys. A few shortlisted organizations are listed below (&lt;span style="color:#ff0000;"&gt;use the link to join&lt;/span&gt;). REMEMBER YOU CAN JOIN ALL THESE ORGANIZATIONS AT FREE OF COST.&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="http://www.opinionindia.in/invite.php?friend_id=3883"&gt;Opinion India &lt;/a&gt;: &lt;a href="http://www.opinionindia.in/invite.php?friend_id=3883"&gt;Join Now&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ups.greenfieldonline.com/TrafficUI/MSCUI/Page.aspx?pgtid=12&amp;amp;bid=53&amp;amp;cid=18&amp;amp;ri=oD9db4vqJ6ZeiorVE1aBqUwE4E4"&gt;&lt;strong&gt;Ciao-Survey&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; : &lt;/strong&gt;&lt;a href="http://ups.greenfieldonline.com/TrafficUI/MSCUI/Page.aspx?pgtid=12&amp;amp;bid=53&amp;amp;cid=18&amp;amp;ri=oD9db4vqJ6ZeiorVE1aBqUwE4E4"&gt;&lt;strong&gt;Join Now&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Spidermetrix:&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;Spidermetrix is an Australia based website which pays you to participate in paid surveys, polls and to evaluate websites. There are also short single question surveys on the site where you earn one point. Sometimes they send well paying surveys to Indian members. Members are called spiders and they earn spider points as rewards. They also give you rewards for referring friends. Payment is by paypal when your account balance reaches the equivalent of $20. &lt;a href="http://www.spidermetrix.com/sm120.php?refspider=monudjn"&gt;Join Spidermetrix here&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Planet Pulse:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;table cellspacing="0" cellpadding="0" border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #cccccc 1px solid; BORDER-TOP: #cccccc 1px solid; FONT-SIZE: 10px; BORDER-LEFT: #cccccc 1px solid; BORDER-BOTTOM: #cccccc 1px solid; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif" width="468"&gt;&lt;a href="http://www.planet-pulse.net/live/pp_register.php?rid=397372" target="_blank"&gt;&lt;img style="WIDTH: 581px; BORDER-BOTTOM: #cccccc 1px solid; HEIGHT: 48px" height="60" src="http://www.planet-pulse.net/live/images/asiatravelmart-468x60.gif" width="582" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Get paid for your opinions! Click on the banner above to join Planet Pulse. Its totally free to sign up, and you can earn UNLIMITED. Find out more by visiting &lt;a style="COLOR: #009ee0; TEXT-DECORATION: underline" href="http://www.planet-pulse.net/live/pp_register.php?rid=397372" target="_blank"&gt;PLANET PULSE&lt;/a&gt;.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;span style="color:#3333ff;"&gt;Survey Savvy:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff6600;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;a href="https://www.surveysavvy.com/ss/ss_index.php?id=3653740&amp;amp;d=c&amp;amp;action=join&amp;amp;lid=en-us" target="_blank"&gt;&lt;img id="BLOGGER_PHOTO_ID_5261918204980466898" style="WIDTH: 560px; CURSOR: hand; HEIGHT: 62px" alt="" src="http://4.bp.blogspot.com/_p5a_LceLl7k/SQYWuoUFlNI/AAAAAAAAAC0/5kpM2MqCP8k/s320/survey.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#3333ff;"&gt;&lt;strong&gt;Global Test Market:&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff6600;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.globaltestmarket.com/join.php?contact_email=1"&gt;&lt;img id="BLOGGER_PHOTO_ID_5261906913259944578" style="WIDTH: 470px; CURSOR: hand; HEIGHT: 268px" alt="" src="http://1.bp.blogspot.com/_p5a_LceLl7k/SQYMdXYH-oI/AAAAAAAAACc/PsxaUnxz84c/s320/market+online.jpg" border="0" /&gt;&lt;/a&gt; &lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-2088636927523328563?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/2088636927523328563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=2088636927523328563' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/2088636927523328563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/2088636927523328563'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/10/earn-money-online.html' title='Earn Money Online'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_p5a_LceLl7k/SQYWuoUFlNI/AAAAAAAAAC0/5kpM2MqCP8k/s72-c/survey.jpg' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-6033335968323746746</id><published>2008-03-05T09:50:00.003+05:30</published><updated>2008-10-13T13:43:33.250+05:30</updated><title type='text'>Articles</title><content type='html'>A) &lt;a href="http://explore-your-thought-process.blogspot.com/search/label/EGL"&gt;Enterprise Generation Language, EGL&lt;/a&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://explore-your-thought-process.blogspot.com/2008/10/egl-sorting-datatable-columns.html"&gt;EGL: Sorting Datatable Columns&lt;/a&gt; - In this article I am trying to demonstrate one out of thousand options to sort a particular column in EGL. &lt;a href="http://explore-your-thought-process.blogspot.com/2008/10/egl-sorting-datatable-columns.html"&gt;more..&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://explore-your-thought-process.blogspot.com/2008/10/egl-extract-url-details.html"&gt;EGL: Extract URL Details&lt;/a&gt; - This article helps Enterprise Generation Language (EGL) programmers to get the details about the server, port number and url type. &lt;a href="http://explore-your-thought-process.blogspot.com/2008/10/egl-extract-url-details.html"&gt;more..&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://explore-your-thought-process.blogspot.com/2008/10/egl-converting-string-to-int.html"&gt;EGL Converting String to int&lt;/a&gt; - Enterprise Generation Language (EGL) is coming up great. It has provided a good many number of API's. However sometime we need to rely on Java api to do some small task. &lt;a href="http://explore-your-thought-process.blogspot.com/2008/10/egl-converting-string-to-int.html"&gt;more..&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://explore-your-thought-process.blogspot.com/2008/06/how-to-session-timeout-and-restrict.html"&gt;EGL: Handling session timeout&lt;/a&gt; - Session Handling is one of the most important task in web application. Same is true for EGL generated Java/j2ee code. In this article we will discuss about session handling in EGL targetting to Java/J2ee code. &lt;a href="http://explore-your-thought-process.blogspot.com/2008/06/how-to-session-timeout-and-restrict.html"&gt;more..&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://explore-your-thought-process.blogspot.com/2008/05/providing-dynamic-database-schema-in.html"&gt;EGL: Handling dynamic schema&lt;/a&gt; - There are different ways to handle dynamic schema in EGL. One of the very common approach is to get the schema from the jvm properties in egl handler and store it in the session and set it in a record "StatusRec" and pass to the data access layer as argument. &lt;a href="http://explore-your-thought-process.blogspot.com/2008/05/providing-dynamic-database-schema-in.html"&gt;more..&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://explore-your-thought-process.blogspot.com/2008/06/how-to-integrate-jasper-report-with.html"&gt;EGL: Integrating Jasper Report&lt;/a&gt; - &amp;shy;&amp;shy;This section describes how to integrate the Jasper reports to the Enterprise Generation Language EGL Web application. &lt;a href="http://explore-your-thought-process.blogspot.com/2008/06/how-to-integrate-jasper-report-with.html"&gt;more..&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://explore-your-thought-process.blogspot.com/2008/06/handling-db2-sqlcode-904-in-web.html"&gt;EGL: Handling DB2 sqlcode:-904&lt;/a&gt; - Recently I have come across an sql error while trying to execute a sql in DB2 version 7 from web application. The application is developed in Enterprise Generation Language (EGL). &lt;a href="http://explore-your-thought-process.blogspot.com/2008/06/handling-db2-sqlcode-904-in-web.html"&gt;more..&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://explore-your-thought-process.blogspot.com/2007/12/do-we-need-to-learn-enterprise.html"&gt;EGL: Do we need to learn IBM Enterprise Generation Language ( IBM EGL ) ? Another 4GL or something more?&lt;/a&gt; - Recently i have come across a new or not so new programming language IBM's Enterprise Generation Language EGL. &lt;a href="http://explore-your-thought-process.blogspot.com/2007/12/do-we-need-to-learn-enterprise.html"&gt;more..&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-6033335968323746746?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/6033335968323746746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=6033335968323746746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/6033335968323746746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/6033335968323746746'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/03/articles.html' title='Articles'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-1968988177776529116</id><published>2008-03-01T00:39:00.002+05:30</published><updated>2008-12-29T12:35:18.098+05:30</updated><title type='text'>About Me</title><content type='html'>'I' is the most selfish word in the dictionary. However there is no better place then in this article to use the word 'I'. Explore Your Thought Process is not just a blog, it's like a dream come true. It is a platform where I can reach out to tech savy, share technical thoughts and can help others. Probably this is the only way I can help others.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I have started my career as Geologist. During the course of sedimentation this geologiest who deals with rocks and earth science become a computer professional. Now I am enjoying being called as software professional.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5253386287793183666" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 96px; CURSOR: hand; HEIGHT: 122px; TEXT-ALIGN: center" height="277" alt="" src="http://2.bp.blogspot.com/_p5a_LceLl7k/SOfG_r_SG7I/AAAAAAAAACQ/YK9wGAsNaUg/s320/US+TRIP+07-07+to+22-07+131.JPG" width="193" border="0" /&gt;&lt;br /&gt;&lt;strong&gt;Display Name:&lt;/strong&gt; Monu&lt;br /&gt;&lt;strong&gt;Full Name:&lt;/strong&gt; Monuranjan Borgohain&lt;br /&gt;&lt;strong&gt;Email:&lt;/strong&gt; &lt;a href="mailto:monudjn@gmail.com"&gt;monudjn@gmail.com&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;Gender:&lt;/strong&gt; Male&lt;br /&gt;&lt;strong&gt;Birthday:&lt;/strong&gt; 01-05-1978&lt;br /&gt;&lt;strong&gt;Location:&lt;/strong&gt; Bangalore, Karnataka, India&lt;br /&gt;&lt;strong&gt;Work:&lt;/strong&gt; Software Professional&lt;br /&gt;&lt;strong&gt;Interests:&lt;/strong&gt; Writing articles, Music, Playing Guitare, Reading books etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-1968988177776529116?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/1968988177776529116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=1968988177776529116' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/1968988177776529116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/1968988177776529116'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/03/about-me.html' title='About Me'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_p5a_LceLl7k/SOfG_r_SG7I/AAAAAAAAACQ/YK9wGAsNaUg/s72-c/US+TRIP+07-07+to+22-07+131.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-6258885613923493667</id><published>2008-02-05T13:55:00.000+05:30</published><updated>2008-10-05T14:06:17.238+05:30</updated><title type='text'>Favorite Site</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.explore-your-thought-process.blogspot.com/"&gt;Home URL&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.galaxesolutions.com/"&gt;GalaxE Solutions&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.google.com/"&gt;Google&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/"&gt;YouTube&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.google.com/analytics"&gt;Google Analytics&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.google.com/webmasters"&gt;Google WebMasters&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.gmail.com/"&gt;Gmail&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://wwww.yahoo.com/"&gt;Yahoo&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-6258885613923493667?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/6258885613923493667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=6258885613923493667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/6258885613923493667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/6258885613923493667'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2008/02/favorite-site.html' title='Favorite Site'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-3314757083008395447</id><published>2008-02-01T00:01:00.001+05:30</published><updated>2008-10-05T09:46:38.175+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Router'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><category scheme='http://www.blogger.com/atom/ns#' term='Broadband'/><title type='text'>Internet: Configure wireless router to Reliance Broadband connection</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;Recently i have taken reliance broadband connection and i wanted to configure a wireless router to connect to internet. After looking at different routers from different vendors, i have finally decided to go for NETGEAR WGR614v7. When i called reliance customer care for assisstence in configuring the router, i didn't get any help. Then i decided to configure myself by following the user manual comes with the router. However i have found it very difficult. The router was not getting the ip address of ISP dynamically.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;With lot of experiment finally i have made router to talk to internet.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;If someone stuck in configuring the netgear router with reliance broadband can follow the below steps:&lt;/span&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;1) Follow the exact procedure mentioned in the manual. Set up will guide to configure the router. Donot follow the manual process.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;2) First time do the setup with the wire that will connect the router and the laptop/desktop.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;3) If the router doesnot find the dynamic ip address, switch off the modem, wait for 1 mins, switch on the router, wait for 1min and then restart your pc.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;4) If atleast once you done your setting correctly then take a back up of the setting. This is very useful if you lose your setting later on, you can get it back by using the back up file.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;5) Without removing the wire between the pc and the router, enable/create your wireless device in the pc to locate the router. Then you remove the wire.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;6) If your router not finding the ip address, then disconnect the router from modem.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Connect your pc directly to the modem and see if you are getting the ip address automatically.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;If not then go to properties of LAN and then click on "use the following ip address" radio button and enter 192.168.1.2 followed by tab. Sub net mask will get filled with 255.255.255.0 .&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Go to command prompt and try to ping the entered ip address. If it is pinging then go back to LAN properties and select "obtain an ip address automatically" radio button. Wait for sometime and then go to command prompt and type ipconfig/all, it gives dynamic ip address along with name of the ISP. Then you can connect to internet directly using your modem. After connect the wire from modem to router and allow your pc to connect to router and router will connect to modem&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Let me know for any issue or further clarification in configuring the netgear router with reliance broadnet &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Regards&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Monu&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-3314757083008395447?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/3314757083008395447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=3314757083008395447' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/3314757083008395447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/3314757083008395447'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2007/12/configure-wireless-router-to-reliance.html' title='Internet: Configure wireless router to Reliance Broadband connection'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6448432495120456380.post-1528108286727254918</id><published>2008-01-01T00:55:00.001+05:30</published><updated>2008-10-05T09:48:01.032+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='EGL'/><title type='text'>EGL: Do we need to learn IBM Enterprise Generation Language ( IBM EGL ) ?  Another 4GL or something more?</title><content type='html'>&lt;div align="justify"&gt;Recently i have come across a new or not so new programming language IBM's Enterprise Generation Language EGL. Browsing through some of the articles and tutorials in the net, i came to know that it's a new 4GL which can generate java and cobol code. It's a programming language which let us writing full functions applications. As i said it's a new language it has its own syntax and learning curve. However IBM claims it's easy to learn compare to Java. When i look into the syntax of EGL, it has remind me COBOL which i have studied during my engineering. IBM RAD can be used to develop EGL application. EGL can be used to develop web application which will eventually be converted into java code. EGL contains programs and libraries to create your bussiness and data layer. It has page handlers and jsp's to create presentation layer. &lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;EGL tries to bridge between procedural and Object oriented programmer. It claims that procdural programmers and 4GL developers can develope java web application in EGL with or little knowledge of Java. &lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;However as a java/j2ee/php developer i have certain concerns whether to accept EGL or not.&lt;/div&gt;&lt;div align="justify"&gt;I would appreciate if someone (EGL experts) to answer below questions. Also request all you readers to continue this discussion which might help someone to choose among EGL,php,java and so on and forth.&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;em&gt;Question1:&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;As EGL says a procedural programmer need not to know Object oriented programming. Do they really need not to learn OO ?&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;em&gt;Question2:&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;How can we trust EGL, when most of the 4GL are out of market and in the process of migrating to x,y,z technology?&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;em&gt;Question3:&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;EGL programmer's need not to know Java/j2ee... However there many best to be proven framework/design pattern in java/j2ee/php. How one will implement these patterns wihout knowing those?&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;em&gt;Question4:&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;How about maintainability, scalability, performance, extendibility, reliability and security compare to hand written program in java?&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;There are many more questions which EGL has to answer before it goes big.&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;I think we should not have any problem accepting a new language/technology which is better than current trend of technlogy. However it cannot claim global audience if it is just better than some of out of market trend technologies&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;Regard &lt;/div&gt;&lt;div align="justify"&gt;Monu &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6448432495120456380-1528108286727254918?l=explore-your-thought-process.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://explore-your-thought-process.blogspot.com/feeds/1528108286727254918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6448432495120456380&amp;postID=1528108286727254918' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/1528108286727254918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6448432495120456380/posts/default/1528108286727254918'/><link rel='alternate' type='text/html' href='http://explore-your-thought-process.blogspot.com/2007/12/do-we-need-to-learn-enterprise.html' title='EGL: Do we need to learn IBM Enterprise Generation Language ( IBM EGL ) ?  Another 4GL or something more?'/><author><name>Monu</name><uri>http://www.blogger.com/profile/04169150331239222349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp1.blogger.com/_p5a_LceLl7k/SFzag1V4CbI/AAAAAAAAAB0/dQre8Y0gGOQ/S220/myPhoto.jpg'/></author><thr:total>9</thr:total></entry></feed>
