<?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-2370034341282800525</id><updated>2012-02-16T20:36:24.958-08:00</updated><category term='Java Server Faces'/><category term='JSF Interview Questions'/><category term='General'/><category term='Exception Handling'/><category term='Welcome'/><category term='JavaFX'/><title type='text'>Enterprise Java Development</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://reallifejava.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2370034341282800525/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://reallifejava.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Shyam</name><uri>http://www.blogger.com/profile/01784487313093567196</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2370034341282800525.post-4314900845639083899</id><published>2009-06-11T15:10:00.000-07:00</published><updated>2009-06-11T15:32:57.568-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Single Thread, Multiple Threads, Multiple Processes or Multiple Computers???</title><content type='html'>&lt;div style="text-align: justify;"&gt;So here is a dilemna of the day! What would be your decision process when designing an application between using a single thread of execution, multiple threads, multiple processes or multiple computers? &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I don't know what is your decision process, but while designing the application and determining the approach, there are several things that I consider such as -&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;How resource intensive the operation is?&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Does doing it in background thread make sense? (For example, when user asks for archive data of last 5 years in pdf format!).&lt;/li&gt;&lt;li style="text-align: justify;"&gt;What are the technical limitations? Like, controls created in UI thread can not be accessed in another thread.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;What happens if the processing fails?&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;These are some of the points that I consider.  If we want to isolate it from running code so that running code doesn't fail with it, we can invoke it in a separate process. Multiple computers should be considered when expected volume is too high. To better summarise -&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Single Thread&lt;/b&gt; - If the application is very linear in its operation, I prefer to design it single threaded. One of the main advantages it has is ease of implementation and maintenance since there is no need to maintain concurrency. One of the main disadvantages  for a single threaded application is inability to perform more than one task of a program module.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Multiple Threads&lt;/b&gt; - If the application is not very linear in operation and has multiple tasks that can be executed simultaneously, independent of each other, then it should be designed as multi threaded. When using multi threaded approach for the application, a single program module can be broken logically and different parts of program can be run simultaneously. This is achieved by using separate threads for each task. One such example is an application that needs to monitor incoming emails and also process outgoing mails. Both of the tasks are part of the same module and shares resources but can be executed independent of each other. One of the main advantages of multithreading approach is concurrent processing. Also, compared to multiple processing it is more light-weight form of concurrency. Since all threads in multi threaded module shares same address space, data on the heap can be readily accessed by all threads. There are couple of disadvantages for multithreaded approach. Designing and maintaining multi threaded application is more complex compared to single threaded application as special care needs to be taken to maintain concurrency. Also, in a multi threaded application, error in one thread can potentially bring down all other running threads for the process.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Multiple Processes&lt;/b&gt; – When the same application needs to run multiple instances at the same time, it needs to be designed to be able to run multiple processes on the same machine. I would use multiple processes of the application if there is a need to run multiple instances of the application for different users with different permissions or for a subset of data independent from another instance of the application. This would be useful when state of one process instance needs to be kept independent from another process instance of the application. Since processes are insulated from each other by OS, an error in one process cannot bring down another process.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Multiple Computers&lt;/b&gt; – One of the primary reasons to implement the application on multiple computers is when the application utilizes client specific resources. In a client server application user can not access application entirely from central location and needs to access the application from client systems. In such cases the application needs to be installed on each system from where user intends to use the application. This approach enables application to utilize resources from client system and also utilize its processing power to run.&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/2370034341282800525-4314900845639083899?l=reallifejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://reallifejava.blogspot.com/feeds/4314900845639083899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://reallifejava.blogspot.com/2009/06/single-thread-multiple-threads-multiple.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2370034341282800525/posts/default/4314900845639083899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2370034341282800525/posts/default/4314900845639083899'/><link rel='alternate' type='text/html' href='http://reallifejava.blogspot.com/2009/06/single-thread-multiple-threads-multiple.html' title='Single Thread, Multiple Threads, Multiple Processes or Multiple Computers???'/><author><name>Shyam</name><uri>http://www.blogger.com/profile/01784487313093567196</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2370034341282800525.post-4511728355968804501</id><published>2009-06-09T19:43:00.000-07:00</published><updated>2009-06-09T19:52:20.750-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaFX'/><title type='text'>Java FX Demo</title><content type='html'>&lt;div style="text-align: justify;"&gt;I came across this nice little demo on JavaFX for first hand experience. It is a good example to quickly explore JavaFX before you dive deeper into it. Hope you will enjoy it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;embed src="http://blip.tv/play/AfqjI4m1FA" type="application/x-shockwave-flash" width="550" height="327" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2370034341282800525-4511728355968804501?l=reallifejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://reallifejava.blogspot.com/feeds/4511728355968804501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://reallifejava.blogspot.com/2009/06/java-fx-demo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2370034341282800525/posts/default/4511728355968804501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2370034341282800525/posts/default/4511728355968804501'/><link rel='alternate' type='text/html' href='http://reallifejava.blogspot.com/2009/06/java-fx-demo.html' title='Java FX Demo'/><author><name>Shyam</name><uri>http://www.blogger.com/profile/01784487313093567196</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2370034341282800525.post-7648097609726598446</id><published>2009-06-09T08:45:00.000-07:00</published><updated>2009-06-09T19:19:13.153-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Exception Handling'/><title type='text'>Exception Handling</title><content type='html'>&lt;div align="justify"&gt;Today I wanna write something about my thought process on exception handling. At each point when exception are thrown, we have to make a decision on how to deal with the "situation". Exception handling is a very vital for enterprise application as improperly handled exception can cause many issues including memory leaks, connection leaks as well as missed business process execution. I follow few steps in determining my approach for exception handling -&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Identify possible problems.&lt;/li&gt;&lt;li&gt;Determine how to respond to each problem.&lt;/li&gt;&lt;li&gt;Determine when to check for such potential problem.&lt;/li&gt;&lt;li&gt;Implement exception handling solution based on determination done in steps 1 to 3.&lt;/li&gt;&lt;/ol&gt;&lt;p align="justify"&gt;I know this sounds very simple and you are probably going to say "what's new, everyone knows this". But while working in a pressure environment in large scale applications, we often forget to follow these basic steps to determine the right approach. IMHO, it is very important to think about these steps every time you are at cross roads of design and implementation of different modules.&lt;/p&gt;&lt;p align="justify"&gt;So, as I said, in order to handle exceptions effectively I first try to identify possible problems. By identifying possible problems it helps me add protection in my code by implementing such exception scenarios. For example, I would identify possible compile time exceptions (checked exceptions) and runtime exceptions (unchecked exceptions) that can be thrown from specific module. I use checked exceptions for recoverable conditions and runtime exceptions for programming errors such as processing null values. Once I determine it, I indicate in a program module that it may fail and how it may fail. For example, if I determine that a method getDBConnection() can fail with checked exception of SQLException, I would mention its method signature as following -&lt;code&gt;&lt;/code&gt;&lt;/p&gt;&lt;code&gt;&lt;p&gt;public boolean isActiveUser() throws SQLException {&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;/code&gt;&lt;p&gt;My next step would be to decide how to respond to each problem if such exception is thrown. At this point, I think of two possibilities - &lt;/p&gt;&lt;ol&gt;&lt;li&gt;Handle the exception explicitly and implement code to further recover/handle failure or,&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Pass the exception up to the calling module and let it implement solution.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p align="justify"&gt;Depending on business case demand and application design, I decide on one of the two approaches. However, it is also better to handle exception explicitly as well as pass it up further to calling module. This allows calling client to implement exception handling but at the same time we can make sure that all the resources consumed in the module that are no longer needed are cleared or made available for garbage collection prior to exiting.&lt;/p&gt;&lt;p align="justify"&gt;Follow these steps and you will often find yourself free of trouble with exception handling in complex applications.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2370034341282800525-7648097609726598446?l=reallifejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://reallifejava.blogspot.com/feeds/7648097609726598446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://reallifejava.blogspot.com/2009/06/exception-handling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2370034341282800525/posts/default/7648097609726598446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2370034341282800525/posts/default/7648097609726598446'/><link rel='alternate' type='text/html' href='http://reallifejava.blogspot.com/2009/06/exception-handling.html' title='Exception Handling'/><author><name>Shyam</name><uri>http://www.blogger.com/profile/01784487313093567196</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2370034341282800525.post-4017908689468474420</id><published>2009-06-07T14:52:00.001-07:00</published><updated>2009-06-09T08:31:56.010-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSF Interview Questions'/><category scheme='http://www.blogger.com/atom/ns#' term='Java Server Faces'/><title type='text'>First hand JSF interview questions</title><content type='html'>&lt;p&gt;Here are some of the Java Server Faces (JSF) interview questions that I have compiled. It may be helpful to go through prior to any interview on JSF.&lt;/p&gt;  &lt;p&gt;&lt;span style="color:#0080c0;"&gt;Q. Which are the primary JSF components that you can think of?&lt;/span&gt;&lt;span style="color:#008080;"&gt;&lt;br /&gt;&lt;/span&gt;A. There are three main components to think of in JSF:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;UIComponent – Defines behavior of a component. UISelectOne can be used to select one value from many values. &lt;/li&gt;    &lt;li&gt;Renderer class – Provides specific rendering. UISelectOne can be rendered as select box or radio button. &lt;/li&gt;    &lt;li&gt;JSP Tag – Associates a renderer with UIComponent and make them usable in JSP. For example - &amp;lt;h:SelectOneMenu&amp;gt;. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;span style="color:#0080c0;"&gt;Q. Explain request processing life cycle in JSF.&lt;/span&gt;&lt;br /&gt;A.&lt;/p&gt;  &lt;p&gt;&lt;img title="request_process_life_cycle" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="195" alt="request_process_life_cycle" src="http://lh3.ggpht.com/_yC2j3O7bwNc/Siw2gH2impI/AAAAAAAAAEE/Etga3_ywK3w/request_process_life_cycle7.jpg?imgmax=800" width="399" border="0" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="color:#0080c0;"&gt;Q. How to get current context in JSF?&lt;/span&gt;&lt;br /&gt;A. FacesContext context = FacesContext.getCurrentInstance();&lt;span class="Apple-style-span"   style="  white-space: pre-wrap; font-family:-webkit-monospace;font-size:34px;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;p&gt;&lt;span style="color:#008080;"&gt;&lt;span style="color:#0080c0;"&gt;Q. How to get managed bean/component programmatically in JSF?&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;A.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;FacesContext context = FacesContext.getCurrentInstance();&lt;br /&gt;Application app = context.getApplication();&lt;br /&gt;UBean uBean=app.getVariableResolver().resolveVariable(context,“myBean”);&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="Apple-style-span"  style="  white-space: normal; color: rgb(0, 128, 192); font-family:Georgia;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Q. What are the characteristics of action methods in JSF?&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="color:#000000;"&gt;A. Its public, takes no arguments and it must return String value.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#008080;"&gt;&lt;span style="color:#0080c0;"&gt;Q. How to place navigation rules and managed beans outside faces-config.xml?&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;A.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;context-param&gt;&lt;span class="Apple-style-span"   style="font-family:-webkit-monospace;font-size:100%;"&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap; "&gt;&lt;code&gt;&amp;lt;context-param&amp;gt;&lt;br /&gt;&amp;lt;param-name&amp;gt;javax.faces.CONFIG_FILES&amp;lt;/param-name&amp;gt;&lt;br /&gt;&amp;lt;param-value&amp;gt;/WEB-INF/navigation.xml,&lt;br /&gt;         /WEB-INF/managed-beans.xml&lt;br /&gt;&amp;lt;/param-value&amp;gt;&lt;br /&gt;&amp;lt;/context-param&amp;gt; &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/context-param&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="Apple-style-span"  style="  white-space: normal; color: rgb(0, 128, 192); font-family:Georgia;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Q. Explain JSF Event Model.&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;A.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;span style="color:#008080;"&gt;&lt;span style="color:#000000;"&gt;ActionEvent – Applied at application phase.&lt;br /&gt;ValueChangeEvent – Applied at process validation phase.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#008080;"&gt;&lt;span style="color:#0080c0;"&gt;Q. How to create Converter class in JSF?&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;A. Following steps needs to be taken -&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;Implement javax.faces.convert.Converter.&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;Implement methods getAsObject() and getAsString().&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;Register converter class in faces-config.xml.&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;In view page, use &amp;lt;f:converter&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="color:#008080;"&gt;&lt;span style="color:#0080c0;"&gt;Q. How to use Spring beans with JSF?&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;A. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;application&gt;&lt;span class="Apple-style-span"   style="  white-space: pre-wrap; font-family:-webkit-monospace;font-size:13px;"&gt;&lt;code&gt;&amp;lt;application&amp;gt;&lt;br /&gt;&amp;lt;variable-resolver&amp;gt; org.springframework.web.jsf.DelegatingVariableResolver&lt;br /&gt;&amp;lt;/variable-resolver&amp;gt;&lt;br /&gt;&amp;lt;/application&amp;gt; &lt;/code&gt;&lt;/span&gt;&lt;/application&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: consolas, "Courier New", courier, monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2370034341282800525-4017908689468474420?l=reallifejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://reallifejava.blogspot.com/feeds/4017908689468474420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://reallifejava.blogspot.com/2009/06/first-hand-jsf-interview-questions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2370034341282800525/posts/default/4017908689468474420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2370034341282800525/posts/default/4017908689468474420'/><link rel='alternate' type='text/html' href='http://reallifejava.blogspot.com/2009/06/first-hand-jsf-interview-questions.html' title='First hand JSF interview questions'/><author><name>Shyam</name><uri>http://www.blogger.com/profile/01784487313093567196</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_yC2j3O7bwNc/Siw2gH2impI/AAAAAAAAAEE/Etga3_ywK3w/s72-c/request_process_life_cycle7.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2370034341282800525.post-2685382552084890799</id><published>2009-05-28T19:19:00.000-07:00</published><updated>2009-05-29T11:43:11.648-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Welcome'/><title type='text'>Hello There!!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_yC2j3O7bwNc/Sh9HjqcGAPI/AAAAAAAAACY/8LLRwmP_MpE/s1600-h/welcome.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5341066361097814258" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 250px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_yC2j3O7bwNc/Sh9HjqcGAPI/AAAAAAAAACY/8LLRwmP_MpE/s320/welcome.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: justify"&gt;Hello there and Welcome to my blog!!! This is my very first post and I am looking forward to make regular updates here. The question you may ask is - what is this blog for? I have two reasons to start it. First, being involved in enterprise software developer for over a decade now, I come across some or other things everyday that I wish to write about, think about and discuss about. What better way than to have those thoughts publish on blog and engage in a conversation with people? My second reason is to also share my knowledge with others on what I know as well as what I am learning. Too often we come across websites and books that talks a lot about high level approaches but do not care to help implement those concept in real life scenarios or if I may say, "bottom-up" guideline starting from how to setup each and every component involved to how to implement and run it. My effort in this blog will be to engage in such learning activity where I myself will learn new concepts, tools and APIs as well as will try to share with others in as much detail as possible, and with as many examples as possible.&lt;br /&gt;&lt;/div&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="TEXT-ALIGN: justify"&gt;So....get ready for a journey together!! And if you ever stumble upon this blog, don't forget to leave some comments - good or bad. I would love to read your thoughts and get better at everything I do with this blog. &lt;/div&gt;&lt;div&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="TEXT-ALIGN: justify"&gt;&lt;span class="Apple-style-span" style="TEXT-DECORATION: underline"&gt;Adiós&lt;/span&gt;....&lt;br /&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/2370034341282800525-2685382552084890799?l=reallifejava.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://reallifejava.blogspot.com/feeds/2685382552084890799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://reallifejava.blogspot.com/2009/05/hello-there-and-welcome-to-my-blog-this.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2370034341282800525/posts/default/2685382552084890799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2370034341282800525/posts/default/2685382552084890799'/><link rel='alternate' type='text/html' href='http://reallifejava.blogspot.com/2009/05/hello-there-and-welcome-to-my-blog-this.html' title='Hello There!!'/><author><name>Shyam</name><uri>http://www.blogger.com/profile/01784487313093567196</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_yC2j3O7bwNc/Sh9HjqcGAPI/AAAAAAAAACY/8LLRwmP_MpE/s72-c/welcome.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
