<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CE8MRnk9fSp7ImA9WhBVGUw.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026</id><updated>2013-04-25T11:01:27.765-07:00</updated><category term="scripting" /><category term="OO design" /><category term="dependency injection" /><category term="java script framework" /><category term="java" /><category term="What is Web  service" /><category term="dynamic webpage" /><category term="spring" /><category term="ajax" /><category term="web hosting" /><category term="apple" /><category term="cloud service" /><category term="software as service" /><category term="interactive webpage" /><category term="Mobile App" /><category term="iOS" /><category term="java script" /><category term="why ajax" /><category term="review" /><category term="Android" /><category term="ExtJs" /><category term="Social Networking" /><category term="inversion of control" /><title>My Experiments With Java</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.myexperimentswithjava.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>32</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/MyExperimentsWithJava" /><feedburner:info uri="myexperimentswithjava" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CEINRH84eSp7ImA9WhBWGU8.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-6152255100346418426</id><published>2013-04-13T23:56:00.000-07:00</published><updated>2013-04-13T23:56:35.131-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-04-13T23:56:35.131-07:00</app:edited><title>Hashcode and Equals Method</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
It’s a common topic In &amp;nbsp;java interviews. And these two methods are
always common to any class you write in Java. So let’s know them in and out.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
boolean equals(Object&amp;nbsp;
obj) and int hashCode() are two methods implemented in Object class with
several other methods.&amp;nbsp; In Java every class implicitly inherit Object class so every class has these methods.&amp;nbsp; Equals method check the reference is holding
same object or not.&lt;/div&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt;MyClass obj1 = new MyClass();&lt;/pre&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt;MyClass obj2 = 0bj1;&lt;/pre&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt;Then obj1.equals(obj2) returns true.&lt;/pre&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt;MyClass obj3 = new MyClass();&lt;/pre&gt;
&lt;div class="MsoNormal"&gt;
In this case obj1.equals(obj3) will return false.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
It means original equals method check whether two reference contain
same object or not. If two object are logically similar, for ex like wrapper
class Integer, Boolean etc we need to override equals method.&lt;/div&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt;Boolean b1 = true;&lt;/pre&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt;Boolean b2 = true;&lt;/pre&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt;b1.equals(b2)&amp;nbsp; will return true. &lt;/pre&gt;
&lt;div class="MsoNormal"&gt;
To overload equals method programmer may chose to compare field
by filed.&lt;/div&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt;Public class Employee&lt;/pre&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt;{&lt;/pre&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt;Integer employeeId;&lt;/pre&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt;String name;&lt;/pre&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt;public &amp;nbsp;boolean equals(Object obj)&lt;/pre&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt;{&lt;/pre&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt; if (obj != null &amp;amp;&amp;amp; obj &lt;b&gt;&lt;span style="color: navy;"&gt;instanceof&lt;/span&gt;&lt;/b&gt; Employee)&lt;o:p&gt;&lt;/o:p&gt;&lt;/pre&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/pre&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt; Employee obj2 = (Employee) obj;&lt;o:p&gt;&lt;/o:p&gt;&lt;/pre&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt; return (obj2.getEmployeeId() == null ? this.employeeID == null : &lt;o:p&gt;&lt;/o:p&gt;&lt;/pre&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt;&amp;nbsp;obj2.getEmployeeId().equals(this.employeeID))&lt;o:p&gt;&lt;/o:p&gt;&lt;/pre&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt;&amp;amp;&amp;amp; (obj2.getEmployeeName() == null ? this.employeeName == null : &lt;o:p&gt;&lt;/o:p&gt;&lt;/pre&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt;&amp;nbsp;obj2.getEmployeeName().equals(this.employeeName)); &amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/pre&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/pre&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt;return false;&lt;o:p&gt;&lt;/o:p&gt;&lt;/pre&gt;
&lt;pre style="background: #E6E6E6; text-align: justify;"&gt;}&lt;/pre&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
Hascode method always return integer. Any two object equals
return true always return same hashcode. &amp;nbsp;But its not necessary if two object produce
same hashcode need to be equal.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
Now here is the million dollar question if we override equals
method do we need to override hashcode method. The answer is yes. We need to override
hashcode method. It should satisfy two condition every distinct object produce different
hashcode consistently and equals object will produce same hashcode.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
Hashcode is important when we use HashTable, HashSet or
HashMap in collections api. If we don’t construct the object in the above way,
these collections may not work properly, performance can deteriorate.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
So bottom line is always override hashcode when you override
equals. &lt;span style="font-family: Wingdings; mso-ascii-font-family: Calibri; mso-char-type: symbol; mso-hansi-font-family: Calibri; mso-symbol-font-family: Wingdings;"&gt;J&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/BpTsX8nVzoE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/6152255100346418426/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2013/04/hashcode-and-equals-method.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/6152255100346418426?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/6152255100346418426?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/BpTsX8nVzoE/hashcode-and-equals-method.html" title="Hashcode and Equals Method" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2013/04/hashcode-and-equals-method.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkIMSHY6fip7ImA9WhNQGU8.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-941957579333816969</id><published>2012-11-26T02:09:00.000-08:00</published><updated>2012-11-26T02:09:49.816-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-11-26T02:09:49.816-08:00</app:edited><title>What is the Big Deal about Big Data</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
Like every sector in our computer world we always have some new
trends.&amp;nbsp; In fact the dynamics of changing
trend in Computer industry is very evident. Few years back all want to adopt
tablet and different form of post pc devices. And recent time Cloud was the big
word. All most all companies have launched lots of cloud specific services or
platform. Every blogger including me has written about cloud. And now the
recent buzz is Big Data, Hadoop, Data Analytics etc..&amp;nbsp; &lt;/div&gt;
&lt;div class="MsoNormal"&gt;
There is a say Pen is mightier than Sword. &amp;nbsp;It means Knowledge, information is the key. If
a student knows the right answer of the question in exam he will succeed. If
the doctor knows more information about the disease he can diagnose and treat
better. Similarly if a business knows has right information about its customer
needs it can succeed well. So it’s important to get right information in time.
And if we think most of the time that “information” is the only difference
between success and failure. &lt;/div&gt;
&lt;div class="MsoNormal"&gt;
So people invest huge to store data and retrieve/derive the
useful information out of it in real time.&amp;nbsp;
The whole process is divided in two steps first part is to store related
data. And most of the time these are unstructured data. And the second thing is
to analysis or processes those data to get right information in real-time. These
unstructured data can come from or around your business.&amp;nbsp; For example any ecommerce portal will like to
store and analysis its visitor browsing pattern. This will help them to arrange
or present their products efficiently. Similarly an bank should like to know
what its customers like, dislike or spending habit. So that it can customize
its product as per it. More or less all big corporate houses are started
spending in BigData and Analytics.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
Well Data and Analytics not only help big organization. It
can be useful&amp;nbsp; to stream line personal
finance too. Money manager from Intuit is an example in this direction. It
tracks all spending, and categorize them. So that one can easily track income and
spending. &amp;nbsp;Its early days, In coming days
we will see more product or services around Analytics and BIgData. &amp;nbsp;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/iL497LXpCDw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/941957579333816969/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2012/11/what-is-big-deal-about-big-data.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/941957579333816969?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/941957579333816969?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/iL497LXpCDw/what-is-big-deal-about-big-data.html" title="What is the Big Deal about Big Data" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2012/11/what-is-big-deal-about-big-data.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIARng4eip7ImA9WhJRF0U.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-7601669735475516062</id><published>2012-07-20T04:09:00.002-07:00</published><updated>2012-07-20T04:09:07.632-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-07-20T04:09:07.632-07:00</app:edited><title>Do I need to google ?</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
To find anything in internet the best way is googling. Any one who use internet the first thing they learn is googling. When I say googling it include all web search like Bing,Yahoo etc. I do googling to read news, to watch video, to check weather, movie sports etc.Since&amp;nbsp;information&amp;nbsp;is scattered&amp;nbsp;in&amp;nbsp;different&amp;nbsp;website, and they are too many to remember. So people use search engine to locate their content. Few years back everything was working in this pattern, we used to search stuffs on web and browse our content in random site. And search engines used to insert some&amp;nbsp;sponsored&amp;nbsp;links,&amp;nbsp;advisement&amp;nbsp; in the&amp;nbsp;web pages&amp;nbsp;or in search result to earn their revenue.&lt;br /&gt;
&lt;br /&gt;
In last few year few major things happened one is evolution of post pc devices such as iPad,iPhones and other android devices. Its clear that tablet sale is outpacing PC sale. If we combine tablet + smart phones the number will exceed the PC sales. It means more and more people are accessing&amp;nbsp;internet&amp;nbsp;through their post PC devices. In post PC devices poeple connect to internet through&amp;nbsp;different&amp;nbsp;apps. For example to see weather, to read news, to book movie ticket I use my apps on phone. I don't do any&amp;nbsp;web search&amp;nbsp;for that. It doesn't mean web search is reduced to 0 in post pc devices, certainly it decreased dramatically. As pattern of &amp;nbsp;digital content&amp;nbsp;&lt;span style="background-color: white;"&gt;consumption&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white;"&gt;in post pc devices are quite&amp;nbsp;different. And more or less every body agree that the future is all about post pc devices. Country like India a whole lots of people get&amp;nbsp;introduced&amp;nbsp;to digital world through mobile phones.&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
The inception of&amp;nbsp;Facebook&amp;nbsp;only&amp;nbsp;resonate&amp;nbsp;Human is a social animal. I will prefer to ask my friends or read post something from closed group&amp;nbsp;instead&amp;nbsp;of searching randomly in internet. People spend more and more time with each other at&amp;nbsp;Facebook. It&amp;nbsp;automatically&amp;nbsp;reduced the need of google search.&lt;br /&gt;
&lt;br /&gt;
Last one but not least. Evolution of "Siri" and similar services in line with it created lots of noise in the area of local search. Currently Apple announced &amp;nbsp;map service&amp;nbsp;integrated&amp;nbsp;with Siri and opened to lots of Social App&amp;nbsp;like&amp;nbsp;Facebook, yelp gives many useful information to the users interactively.&lt;br /&gt;
&lt;br /&gt;
Its not that anything of above will replace search in future. Search will be there but it won't be first choice anymore it will be the last option.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/aPMXVTtMT1c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/7601669735475516062/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2012/07/do-i-need-to-google.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/7601669735475516062?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/7601669735475516062?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/aPMXVTtMT1c/do-i-need-to-google.html" title="Do I need to google ?" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2012/07/do-i-need-to-google.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ENQng7fCp7ImA9WhVaF0g.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-1672277115564481033</id><published>2012-06-13T01:45:00.001-07:00</published><updated>2012-06-15T02:14:53.604-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-06-15T02:14:53.604-07:00</app:edited><title>Read me if you can</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
In my starting days of coding I had a notion if you don't understand the code means its a tough program, some hi-fi advanced code. And if the code compile with out error and execute properly means its perfect in all aspect.&lt;br /&gt;
&lt;div&gt;
My first programming language was C. There was a lab exam where we need to code 5 given program. I had&amp;nbsp;completed well ahead of time, all the five were compiling and running properly. The teacher was checking each student's program and&amp;nbsp;evaluating. You have to get minimum&amp;nbsp;three programs right to clear the exam. The teacher came to me he read one by one program. He had checked 4 programs and found all are correct. Fifth one he saw the code, in first look he&amp;nbsp;didn't&amp;nbsp;get the logic he told its incorrect with out compiling or executing. Before I could explain back he had already deleted the source folders. I was bit upset&amp;nbsp;because&amp;nbsp;I knew I got five out of five correct. But it was recorded 4. &amp;nbsp;I was thinking I&amp;nbsp;didn't&amp;nbsp;get 5 out 5 just&amp;nbsp;because&amp;nbsp;some body was not able to read it.&lt;/div&gt;
&lt;div&gt;
And after I started working in real time project, I understand 90% time you will be working around the codes not&amp;nbsp;written&amp;nbsp;by you. And some point of time some one else will be working on your code for sure. And there is some figure floated on internet, as 80% effort goes in to understanding others code. All these made the point clear codes need to be written such a way that another person can understand it well. And sometime people prefer simpler algorithm&amp;nbsp;instead&amp;nbsp;a complicated one.&lt;br /&gt;
There are&amp;nbsp;different&amp;nbsp;best&amp;nbsp;practices in line with various programming&amp;nbsp;language. I found few points which help&lt;br /&gt;
1) Naming Convention&lt;br /&gt;
name of the&amp;nbsp;variable&amp;nbsp;and method &amp;nbsp;revel&amp;nbsp;lots of information. for ex :&lt;br /&gt;
&lt;i&gt;if ( authenticate(userName,password)&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;{&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; }&lt;/i&gt;&lt;br /&gt;
It clearly understood that we are authenticating by passing user name and password.&lt;br /&gt;
2) Comments&lt;br /&gt;
We all know we need to write comments. I feel Class label comments, method label comments are always handy. It should always tell more than code. I mean certainly by seeing code we get some idea, and comments should add some thing to it. For ex:&lt;br /&gt;
/* Check for &amp;nbsp;Ldap authentication */&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;if ( authenticate(userName,password)&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp;{&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; }&lt;/i&gt;&lt;br /&gt;
In this case comments add some more info to the picture.&lt;br /&gt;
It is always nice to add few line of comments for a particular block of code.&lt;br /&gt;
3) &amp;nbsp;Use of&amp;nbsp;parenthesis&amp;nbsp;while doing logical&amp;nbsp;operation.&lt;br /&gt;
parentheses&amp;nbsp;always make easy to&amp;nbsp;understand&amp;nbsp;complex&amp;nbsp;logical&amp;nbsp;expression.&lt;br /&gt;
&lt;br /&gt;
And the list goes on. You also can share some of the ideas here which helps understand the code. If the code is well understood it adds lots of value. And programmer can happily understand it and work with it. Happy Programmers always do wonderful things. ;)&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/LBk8-c03M7Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/1672277115564481033/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2012/06/read-me-if-you-can.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/1672277115564481033?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/1672277115564481033?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/LBk8-c03M7Y/read-me-if-you-can.html" title="Read me if you can" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2012/06/read-me-if-you-can.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8DQnwyfip7ImA9WhVREEU.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-587015350710419939</id><published>2012-03-18T08:34:00.000-07:00</published><updated>2012-03-18T08:34:33.296-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-03-18T08:34:33.296-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><title>Life and Java both throws Exception</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
With each passing days we&amp;nbsp;realize " man proposes and god disposes" , well we plan some thing if there is an&amp;nbsp;deviation&amp;nbsp;we called it exception.&amp;nbsp;Exceptions&amp;nbsp;are annoying and we just hate it. More or less each exception holds lots of vital information of&amp;nbsp;reality, &amp;nbsp;to go forward we need to decode these exception. I have not much idea how to decode the exceptions that life throw, but in Java we can&amp;nbsp;certainly&amp;nbsp;plan it very well.&lt;br /&gt;
&lt;div&gt;
Java got a one of the&amp;nbsp;advanced&amp;nbsp;way to&amp;nbsp;handle&amp;nbsp;exception. To know more about exception handling framework in java follow this &lt;a href="http://docs.oracle.com/javase/tutorial/essential/exceptions/" target="_blank"&gt;link&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
I will focus how to&amp;nbsp;design&amp;nbsp;exception in applications.&amp;nbsp;Designing&amp;nbsp;of exceptions is start right from application&amp;nbsp;design.&amp;nbsp;Every time&amp;nbsp;an error happens or something goes wrong, the ideal way is capture as much as&amp;nbsp;information&amp;nbsp;possible and&amp;nbsp;notify&amp;nbsp;some controller who can take alternate steps in&amp;nbsp;run time.&amp;nbsp;Mostly applications are integration of java classes and they perform the task my calling each other method. Consider if methodA of Class A use methodB of Class B and methodB encounter some error.&amp;nbsp;Obviously methodB will not have any idea what could be the&amp;nbsp;alternate flow. The best thing methodB can do is log the exception. Capture as much information possible about the error and wrap it to a customize exception to report to the methodA, methodA will have idea if methodB fail what to do. It should have the alternate plan ( exception handling block).&lt;br /&gt;
Mostly application are&amp;nbsp;segregated&amp;nbsp;into&amp;nbsp;different&amp;nbsp;layers like UI layer, &amp;nbsp;business layer and data access layer. So if an error happen in data layer business layer can take a&amp;nbsp;decision&amp;nbsp;can another operation is possible to carry out or need to report error to UI.And UI layer decide what kind of message need to&amp;nbsp;displayed&amp;nbsp;to the user.&lt;br /&gt;
&lt;br /&gt;
Its always best&amp;nbsp;practice&amp;nbsp;to use application specific&amp;nbsp;exception&amp;nbsp;which wrap java native exceptions. So that it can contain more information about the error. And logging of these exception is very&amp;nbsp;important. Logs help to track the error and the reason of error which gives the required information to fix the problem.&lt;br /&gt;
I hope with this we can plan better for unexpected flow in Java, And guys I need your inputs how to handle exception comes in life.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/DL8aCl_obCE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/587015350710419939/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2012/03/life-and-java-both-throws-exception.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/587015350710419939?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/587015350710419939?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/DL8aCl_obCE/life-and-java-both-throws-exception.html" title="Life and Java both throws Exception" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2012/03/life-and-java-both-throws-exception.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkIAR3YzfCp7ImA9WhVSGEQ.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-5260997206259311313</id><published>2012-03-16T03:42:00.001-07:00</published><updated>2012-03-16T03:42:26.884-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-03-16T03:42:26.884-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="iOS" /><category scheme="http://www.blogger.com/atom/ns#" term="review" /><category scheme="http://www.blogger.com/atom/ns#" term="apple" /><title>new iPad</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-eKUfSq6iU68/T2MYfiqU6rI/AAAAAAAADz4/NPtcD6B-BGE/s1600/ipad_hero.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="166" src="http://4.bp.blogspot.com/-eKUfSq6iU68/T2MYfiqU6rI/AAAAAAAADz4/NPtcD6B-BGE/s400/ipad_hero.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
After more than one year apple&amp;nbsp;released&amp;nbsp;new&amp;nbsp;version&amp;nbsp;of iPad. And they named it "new iPad". With in less than 2 years people around the globe accepted iPad as a new way of computing and in a lots of way iPad is changing life. Apple is successfully building the ecosystem and content by its app store, iTunes, iCloud and the latest iBook which makes iPad more and more useful. &lt;br /&gt;
&lt;div&gt;
The new iPad got lots of hardware&amp;nbsp;up-gradation&amp;nbsp;in&amp;nbsp;compare&amp;nbsp;to&amp;nbsp;previous&amp;nbsp;version iPad2. In original iPad Steve Job used to claim it gives a magical&amp;nbsp;experience. And the&amp;nbsp;
experience&amp;nbsp;comes from display and touch. To make the magical&amp;nbsp;experience further better, the new iPad got retina display. And this is big break through in terms of&amp;nbsp;display. To complement it new iPad got a better processor, better camera and new&amp;nbsp;generation&amp;nbsp;antenna&amp;nbsp;system.&lt;/div&gt;
&lt;div&gt;
In the same event apple had&amp;nbsp;released&amp;nbsp;new version of iWork, iPhoto and iMovie. And these are very powerful and simple apps which specially built for iPad. With apps each day iPad is adding more&amp;nbsp;capability&amp;nbsp;to itself. I am thrilled to see iBook. Reading textbook was never so fun before. It makes book reading more interactive.&lt;br /&gt;
I was&amp;nbsp;anticipating&amp;nbsp;new ipad will get Siri. Last year apple&amp;nbsp;introduced&amp;nbsp;Siri with &lt;a href="http://www.myexperimentswithjava.com/2011/10/iphone-4s.html" target="_blank"&gt;iPhone 4s&lt;/a&gt;. which created a whole new way to interact with the system. According to me that is the one this new iPad is missing. Its a great tablet with same old price. I just hope it will be in India soon in right price.&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/ysC9a8CJqZE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/5260997206259311313/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2012/03/new-ipad.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/5260997206259311313?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/5260997206259311313?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/ysC9a8CJqZE/new-ipad.html" title="new iPad" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-eKUfSq6iU68/T2MYfiqU6rI/AAAAAAAADz4/NPtcD6B-BGE/s72-c/ipad_hero.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2012/03/new-ipad.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMNSX48eSp7ImA9WhVTEU0.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-7701996579507099157</id><published>2012-02-24T10:18:00.000-08:00</published><updated>2012-02-24T10:18:18.071-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-24T10:18:18.071-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><title>All about imports in Java</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
In any Java source file first line after package
declarations are import statements.&amp;nbsp; These
statements enable us to use different classes from outside package. Compiler
always looks at the import statements to find class definition. &lt;br /&gt;
&lt;div class="MsoNormal"&gt;
Instead of import statements we can write fully qualified
name. For ex: &lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;blockquote class="tr_bq"&gt;
java.io. File file = new java.io.File(filepath);&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
This is a perfectly valid statement. Only problem is it looks littlie
complicated to read. &amp;nbsp;Good codes are not
only run well but also easy to read. &lt;/div&gt;
&lt;div class="MsoNormal"&gt;
So we will stick to&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;blockquote class="tr_bq"&gt;
File file = new File(filepath);&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
To do so we have to write import statement at the beginning right
after the package declaration.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;blockquote class="tr_bq"&gt;
package mej.java.example;&lt;br /&gt;import java.io.File;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
If we use more than one classes or interface of java.io packages
we need to write multiple import statements.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;blockquote class="tr_bq"&gt;
package mej.java.example;&lt;br /&gt;import java.io.File;&lt;br /&gt;import java. FileInputStream;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
or we can use wild characters like&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;blockquote class="tr_bq"&gt;
java,io.*;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
At first impression it looks simple, there are few side
effects with this. It takes down the performance of compiler, as compiler has
to look whole package for match. &amp;nbsp;But it
doesn’t affect runtime performance of code in anyway. Many time developers
misunderstood it.&amp;nbsp; There can be cases if
we use multiple wild character imports. And if both the package contains class
with same name, compiler will not able to resolve. And it also reduces the readability
of code. It’s difficult to read which class from which package is being used.
So the best way is to use import individually for each class or interface. &lt;/div&gt;
&lt;div class="MsoNormal"&gt;
Another type of imports are static imports. To use it I can
say something like&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;blockquote class="tr_bq"&gt;
import static java.lang.Match;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
We can directly write&amp;nbsp;
ceil(4.83) instead of Math.ceil(4.38).&amp;nbsp;
By static imports we can directly use the methods or members instead of referring
through their class name. This is widely used in junit test cases to refer
Assert class methods.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
In this case also too much use of static imports decrease
code maintainability. &amp;nbsp;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
Please let me know your&amp;nbsp;thoughts&amp;nbsp;about java imports.&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/QMbWh3GEwGU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/7701996579507099157/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2012/02/all-about-imports-in-java.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/7701996579507099157?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/7701996579507099157?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/QMbWh3GEwGU/all-about-imports-in-java.html" title="All about imports in Java" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2012/02/all-about-imports-in-java.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQGQng4eCp7ImA9WhRaE0Q.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-2043236110266501321</id><published>2012-02-16T03:54:00.000-08:00</published><updated>2012-02-16T03:55:23.630-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-16T03:55:23.630-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="web hosting" /><title>localhost to www</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-__-pmdo5AeE/Tzzt9ps9iUI/AAAAAAAADyo/g2TT8z-aRBY/s1600/host.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-__-pmdo5AeE/Tzzt9ps9iUI/AAAAAAAADyo/g2TT8z-aRBY/s1600/host.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Here we will discuss how to host your web application in internet. Once the application is built and running on your local machine and the testings are over next step is to take it to internet.&lt;br /&gt;
First we need a domain name, like for my blog I use www.myexperimentswithjava.com. To check and book your&amp;nbsp;preferred&amp;nbsp;domain there are lots of service providers are&amp;nbsp;available&amp;nbsp;for example: &lt;a href="https://www.google.com/a/cpanel/standard/new3" target="_blank"&gt;google apps&lt;/a&gt; and &amp;nbsp;&lt;a href="http://www.godaddy.com/" target="_blank"&gt;godady&lt;/a&gt;&lt;br /&gt;
Domains are normally sell for 1 year , 2 years or &amp;nbsp;for some fixed terms.&lt;br /&gt;
If the domain name what you are looking for is taken by some one. And still you want it you can try for resale, godady facilitate resales of domain. But normally these are expensive. With domains usually service providers give some free email account, which you can use for business purpose like admin@yoursitename.com.&lt;br /&gt;
Once you are ready with the domain. Next thing is the Web servers,application server and database server.&lt;br /&gt;
Depending upon the load and traffic you expect these three can be in one machine, or individual machine or for each multiple machine. If you expect more than 1000 users are going to access then professional consultancy is required.&lt;br /&gt;
If you have decided to host in a share resource (popular name is cloud), you can check for service provider. I had used Amazon elastic cloud, which is pretty good. For dedicated servers you need to buy&amp;nbsp;physical&amp;nbsp;hardware and the set it up to run it. It should have good connectivity and fixed IP. Now next thing is that to set up each layer. I prefer first to install data base, configure security setting backups. And then create application specific objects and load initial data. Then install application server and install the apps. Check the&amp;nbsp;connectivity&amp;nbsp;with database. And some testing with apps. Once the application looks fine, configure the app server to run on port 80. &amp;nbsp;Then by just typing the IP of your application server you should able to access your application on internet. And the application server IP must be a static one.&lt;br /&gt;
&lt;br /&gt;
Next we have to configure our domain name to&amp;nbsp;application&amp;nbsp;server. &amp;nbsp;From domain service provide we will get a&amp;nbsp;control&amp;nbsp;panel to manage the domain. There we can set redirect, configure sub domain etc. In controll panel there will be an option to add MX record. We need to add two entry like for ex:&lt;br /&gt;
1) http://myexperimentswithjava.com&lt;br /&gt;
2) www.myexperimentswithjava.com&lt;br /&gt;
&lt;br /&gt;
and these entries need to map to application server.&lt;br /&gt;
After the configuration it takes some time to work. Normally in a day or two your application can be reachable on internet by your domain.&lt;br /&gt;
&lt;br /&gt;
All the best for your hosting experiments, do post your&amp;nbsp;experience.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/rza0qYksUsM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/2043236110266501321/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2012/02/localhost-to-www.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/2043236110266501321?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/2043236110266501321?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/rza0qYksUsM/localhost-to-www.html" title="localhost to www" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-__-pmdo5AeE/Tzzt9ps9iUI/AAAAAAAADyo/g2TT8z-aRBY/s72-c/host.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2012/02/localhost-to-www.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IDRXY_eyp7ImA9WhRVFUw.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-3825124007768737127</id><published>2012-01-13T21:39:00.000-08:00</published><updated>2012-01-13T21:39:34.843-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-13T21:39:34.843-08:00</app:edited><title>Something is in Air</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-fyc3naEbOf8/TwqKKlf0FxI/AAAAAAAADyU/TFegEoPHlVg/s1600/images+%25281%2529.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-fyc3naEbOf8/TwqKKlf0FxI/AAAAAAAADyU/TFegEoPHlVg/s1600/images+%25281%2529.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
If some on follow computers&amp;nbsp;actually (nowadays its other way computers follow us) must heard about cloud. And the computer guys always copy the terms from real world to use. Like&amp;nbsp;Inheritance, Cloud , Mouse etc ... sometime the original meaning of these words must be thinking to sue for copyright violation.&lt;br /&gt;
Well copying and stealing is never a problem in this industry. It is always&amp;nbsp;appreciated.&lt;br /&gt;
"Cloud" is such a term today no one can afford to miss it.&amp;nbsp;Companies,&amp;nbsp;Developers&amp;nbsp;and Customers&amp;nbsp;&amp;nbsp;everybody like to have it.&lt;br /&gt;
Well lets understand what does Cloud means and how it make sense. To start we can say your computer is connected to another computer. Then&amp;nbsp;networking&amp;nbsp;is there from more than last 20 years. Each year its becoming more powerful. Computer can connect with each other they can send data and&amp;nbsp;receive&amp;nbsp;from another computer. The next thing was application which run on network by using resource of multiple computer. Web applications are fall in this category. They run in server and user can work with it remotely.&lt;br /&gt;
The service providers are hosting the service in server and can cater to multiple user, that brings down end user cost of using service. The application is customized as per users&amp;nbsp;preference. This is something called application on cloud. Actually it is nothing but same&amp;nbsp;web application. And it is customized as per user or groups of user.&lt;br /&gt;
Another thing is Computer infrastructure&amp;nbsp;or platform on cloud. Its like you will able to use remote server, database or application server. Amazon, Oracle and Google provide these kind of service. Here the application&amp;nbsp;developers&amp;nbsp;can use these platform to&amp;nbsp;develop, test and host. And its easy to scale as per usage. So its a very cost&amp;nbsp;effective&amp;nbsp;way of using resource. Still there are some concerns with data security, organisations are&amp;nbsp;comfortable&amp;nbsp;to store there important data in remote&amp;nbsp;data center.&lt;br /&gt;
And another&amp;nbsp;third category of cloud services are kind of hybrid between platform and application, Salesforce, Oracle public cloud and Apple's iCloud are such example. These gives&amp;nbsp;developers&amp;nbsp;platform to write application on cloud.&lt;br /&gt;
Certainly for medium/small scale industries can use cloud services for their IT needs. It enable to have good IT system in lower price.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/CqwUHcRkTKc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/3825124007768737127/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2012/01/something-is-in-air.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/3825124007768737127?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/3825124007768737127?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/CqwUHcRkTKc/something-is-in-air.html" title="Something is in Air" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-fyc3naEbOf8/TwqKKlf0FxI/AAAAAAAADyU/TFegEoPHlVg/s72-c/images+%25281%2529.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2012/01/something-is-in-air.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEMRnoyfip7ImA9WhRXEUU.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-3269724138560518745</id><published>2011-12-16T21:20:00.001-08:00</published><updated>2011-12-17T20:31:27.496-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-17T20:31:27.496-08:00</app:edited><title>Annotation in Java, the last moment of information</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-2eVQpNGOUBk/TuxyTyyL6pI/AAAAAAAADyE/cbjknL3sP-c/s1600/images.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-2eVQpNGOUBk/TuxyTyyL6pI/AAAAAAAADyE/cbjknL3sP-c/s1600/images.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
In any football match you will find the coach jumping, screaming telling something to the players. Its not only in football even in Cricket and other sports the coach will try to give some more information to the players on field.Though there was a&amp;nbsp;detail&amp;nbsp;game plan which involve coach, captain and all players much before the match. They know what to do&amp;nbsp;everything&amp;nbsp;is planned, still the coach has to say "one more thing" while the game is in progress.&lt;br /&gt;
Same case with us&amp;nbsp;developer, we used&amp;nbsp;to think&amp;nbsp;and &amp;nbsp;design&amp;nbsp;our codes then write. Still we want to add some more thing while compiling or execution time. I always wish I can say the compiler hey just&amp;nbsp;suppress&amp;nbsp;the warning go ahead compile it, while execution of&amp;nbsp;program&amp;nbsp;we have always want to say something to it about the&amp;nbsp;environment. Well in Java we got some thing called Annotation which serve this purpose.&lt;br /&gt;
Annotation can be used to give additional information about a class,method or member to compiler or JVM.&lt;br /&gt;
Lets look at some example.&lt;br /&gt;
I want to write a class which represent an table in database. We say this kind of of object as&amp;nbsp;Entity&amp;nbsp;object.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="JAVA" style="background-color: whitesmoke; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; color: #333333; font-family: Monaco, monospace; font-size: 0.9em; line-height: 1.29em; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 25px; padding-right: 15px; padding-top: 5px; text-align: justify;" xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" xmlns=""&gt;@Entity &lt;a href="http://www.blogger.com/blogger.g?blogID=8776378117389609026" style="text-decoration: none;"&gt;&lt;span class="java_type" style="color: black; text-decoration: none;"&gt;@Table (name = "tbl_employee") &lt;/span&gt;
&lt;span class="java_keyword" style="color: #7f1b55; font-weight: bold; text-decoration: none;"&gt;public&lt;/span&gt;&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="java_keyword" style="color: #7f1b55; font-weight: bold; text-decoration: none;"&gt;class&lt;/span&gt;&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;Employee&lt;/span&gt;&lt;span class="java_separator" style="color: black; text-decoration: none;"&gt;{&lt;/span&gt;
&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Id &lt;/span&gt;&lt;span class="java_keyword" style="color: #7f1b55; font-weight: bold; text-decoration: none;"&gt;private&lt;/span&gt;&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="java_type" style="color: black; text-decoration: none;"&gt;Long&lt;/span&gt;&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;employeeId&lt;/span&gt;&lt;span class="java_separator" style="color: black; text-decoration: none;"&gt;;&lt;/span&gt;
&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/span&gt;
&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="java_keyword" style="color: #7f1b55; font-weight: bold; text-decoration: none;"&gt;private&lt;/span&gt;&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="java_type" style="color: black; text-decoration: none;"&gt;Address&lt;/span&gt;&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;address&lt;/span&gt;&lt;span class="java_separator" style="color: black; text-decoration: none;"&gt;;&lt;/span&gt;
&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;@&lt;/span&gt;&lt;span class="java_type" style="color: black; text-decoration: none;"&gt;Clob&lt;/span&gt;&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="java_keyword" style="color: #7f1b55; font-weight: bold; text-decoration: none;"&gt;public&lt;/span&gt;&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="java_type" style="color: black; text-decoration: none;"&gt;Address&lt;/span&gt;&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;getAddress&lt;/span&gt;&lt;span class="java_separator" style="color: black; text-decoration: none;"&gt;()&lt;/span&gt;&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="java_separator" style="color: black; text-decoration: none;"&gt;{&lt;/span&gt;&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="java_keyword" style="color: #7f1b55; font-weight: bold; text-decoration: none;"&gt;return&lt;/span&gt;&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;address&lt;/span&gt;&lt;span class="java_separator" style="color: black; text-decoration: none;"&gt;;&lt;/span&gt;&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="java_separator" style="color: black; text-decoration: none;"&gt;}&lt;/span&gt;
&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="java_keyword" style="color: #7f1b55; font-weight: bold; text-decoration: none;"&gt;public&lt;/span&gt;&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="java_type" style="color: black; text-decoration: none;"&gt;void&lt;/span&gt;&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;setAddress&lt;/span&gt;&lt;span class="java_separator" style="color: black; text-decoration: none;"&gt;()&lt;/span&gt;&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="java_separator" style="color: black; text-decoration: none;"&gt;{&lt;/span&gt;&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="java_keyword" style="color: #7f1b55; font-weight: bold; text-decoration: none;"&gt;this&lt;/span&gt;&lt;span class="java_separator" style="color: black; text-decoration: none;"&gt;.&lt;/span&gt;&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;address&amp;nbsp;&lt;/span&gt;&lt;span class="java_operator" style="color: black; text-decoration: none;"&gt;=&lt;/span&gt;&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;address&lt;/span&gt;&lt;span class="java_separator" style="color: black; text-decoration: none;"&gt;;&lt;/span&gt;&lt;span class="java_plain" style="color: black; text-decoration: none;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="java_separator" style="color: black; text-decoration: none;"&gt;}&lt;/span&gt;
&lt;span class="java_separator" style="color: black; text-decoration: none;"&gt;}&lt;/span&gt;&lt;/a&gt;&lt;/pre&gt;
&lt;br /&gt;&lt;/div&gt;
Here we say Employee is an entity class. It mapped to tbl_employee in database, employeeId is a primary key and getAddress return Clob.&lt;br /&gt;
These information is very essential for a ORM framework like JPA or Hibernate.&lt;br /&gt;
&lt;br /&gt;
we use annotation to tune compiler also.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="JAVA" style="background-color: whitesmoke; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1px; font-family: Monaco, monospace; font-size: 0.9em; line-height: 1.29em; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 25px; padding-right: 15px; padding-top: 5px; text-align: justify;" xmlns:rf="java:org.jboss.highlight.XhtmlRendererFactory" xmlns=""&gt;&lt;pre style="line-height: normal; text-align: -webkit-auto;"&gt;@SuppressWarnings(value = "unchecked")
void myMethod() { }&lt;/pre&gt;
&lt;pre style="line-height: normal; text-align: -webkit-auto;"&gt;&lt;/pre&gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;pre style="text-align: -webkit-auto;"&gt;&lt;/pre&gt;
We use similarly for for run-time  to give more information to JVM. Like everything Java has some inbuilt annotation and user defined also. How to define a custom annotation and where it make sense is another topic. I will write it separately. Mean while you can look for more information &lt;a href="http://docs.oracle.com/javase/tutorial/java/javaOO/annotations.html" target="_blank"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/nyYzquT-jvU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/3269724138560518745/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2011/12/annotation-in-java-last-moment-of.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/3269724138560518745?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/3269724138560518745?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/nyYzquT-jvU/annotation-in-java-last-moment-of.html" title="Annotation in Java, the last moment of information" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-2eVQpNGOUBk/TuxyTyyL6pI/AAAAAAAADyE/cbjknL3sP-c/s72-c/images.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2011/12/annotation-in-java-last-moment-of.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IEQH0zfSp7ImA9WhRSGEo.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-6201679187570434711</id><published>2011-11-19T07:20:00.001-08:00</published><updated>2011-11-21T02:31:41.385-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-21T02:31:41.385-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Mobile App" /><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><category scheme="http://www.blogger.com/atom/ns#" term="iOS" /><title>Which language do you speak ?? "Vlingo" !!</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;a href="http://2.bp.blogspot.com/-Vo3VL0kvHO8/TsfS_g1abEI/AAAAAAAAA7g/tx2roHwuYd0/s1600/jman38l.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5676737843911355458" src="http://2.bp.blogspot.com/-Vo3VL0kvHO8/TsfS_g1abEI/AAAAAAAAA7g/tx2roHwuYd0/s320/jman38l.jpg" style="cursor: hand; cursor: pointer; float: left; height: 320px; margin: 0 10px 10px 0; width: 310px;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Hi to one and All,&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;After Friday comes Saturday. Surely you people remember "Friday", ain't it ?? (Nope,nope,nope I am not talking about the famous "Friday" from Daniel Defoe master piece "Robinson Crusoe"..rather this one &lt;a href="http://java-pallab.blogspot.com/2011/10/lets-talk-about-friday.html)."&gt;http://java-pallab.blogspot.com/2011/10/lets-talk-about-friday.html).&lt;/a&gt; Well, till now I haven't got an invitation for this, but still the wait is on.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Meanwhile, moving on, it took me a while to get used to IRIS (tiny sister of SIRI, but no way nearer to it). I was looking for something in Android, which is more advanced &amp;nbsp;and could do at least the basic stuff that SIRI can do, sending text, calling people through voice, do some basic search. Although IRIS has improved a lot from its initial stages, it didn't satisfy my taste as a new android smart phone user. I just couldn't resist the idea of interacting with my phone verbally in a language I know. And soon enough my inquisition led me to my old Guru, who can answer virtually everything; Google. And one day after coming back from office, i started searching in Android market. I didn't have to wait for long. In next 5 mins I just discovered "Vlingo". And you know what my first thoughts were, Is it free Or a paid app.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;To my utter relief, I found it to be free and the next thing I could remember was calling out one of my friends name at the top of my voice, so that my phone can listen to me and make a call to him. And to my amazement, it somehow understood my Indian ascent and called up my friend. And after that I posted a comment on Facebook, I opened twitter, I messaged to two of my friends and even found out the nearest ATM machine around my place in a 6 mins of frenzied usage of "Vlingo". And to my satisfaction everything worked.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;This was much better than IRIS and there are a lot of options, more than what I expected. I was happy because, first thing, it understood what I said ( You can very well infer that from the title). And second thing, it has a wonderful GUI, I somehow liked the color and look and feel and third thing it has an iVersion i.e. you have an app for iPhone also unlike SIRI. For more information you can have a look at the video&amp;nbsp;&lt;a href="http://www.howcast.com/videos/258569-How-To-Do-Things-Faster-With-Your-Mobile-Phone-Using-Vlingo"&gt;http://www.howcast.com/videos/258569-How-To-Do-Things-Faster-With-Your-Mobile-Phone-Using-Vlingo&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;I would be exploring it more to check out its some more interesting features...Till then&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;This is Bishnu.....Signing Off..&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/SunXWfrNzcY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/6201679187570434711/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2011/11/which-language-do-you-speak-vlingo.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/6201679187570434711?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/6201679187570434711?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/SunXWfrNzcY/which-language-do-you-speak-vlingo.html" title="Which language do you speak ?? &quot;Vlingo&quot; !!" /><author><name>Bishnu</name><uri>http://www.blogger.com/profile/12516896451583335629</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/-Vo3VL0kvHO8/TsfS_g1abEI/AAAAAAAAA7g/tx2roHwuYd0/s72-c/jman38l.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2011/11/which-language-do-you-speak-vlingo.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IHRnc_fCp7ImA9WhRSGEo.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-2792189990439222268</id><published>2011-11-09T09:04:00.000-08:00</published><updated>2011-11-21T02:32:17.944-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-21T02:32:17.944-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><title>"Interface" The Middle Man</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
We will always find middle man in between producer and consumer of anything. Sometimes more than one layer of middle man. Both producer and end user hate those middle man. They just rip profit by somehow involving in transaction. But no one will deny it require lots of thinking to establish a model which doesn't need middle man. Let’s understand what kind of value these middle men bring.&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Like real world every software or services is integration of various modules. Each module is responsible to carry out certain task. Some component consumes the output of other; to integrate these we need middle man. In Java we say it “Interface”. &amp;nbsp;The basic idea of interface is to act like middle man. But in Java world it can do some additional things.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;1) &amp;nbsp; &amp;nbsp; As the name suggest Interface is basically to integrate two different components. &amp;nbsp;It exposes the functionality of one component to other in a simple manner.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;2) &amp;nbsp; &amp;nbsp; It can be used to hold Constants of the project. As the properties of Interface are always public and final.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;3) &amp;nbsp; &amp;nbsp; Java doesn’t allow multiple inheritance. So One class can’t extend multiple classes, the work around in Interface. One class can implement multiple interfaces. And a reference of an Interface can hold the Object of implementing class.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Class A implements Ia {}&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Ia ia = new A();&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;In this way it gives lots of option to designer.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;4) &amp;nbsp; &amp;nbsp; Interface enforces certain behavior on the class. For ex: if my object is instance of Serializable, then the object can be persisted. Interface is used to mark the Object.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;5) &amp;nbsp; &amp;nbsp; I found the best use of interface is it helps to design lots of generic stuffs. It helps in reducing tight coupling between component.&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Please share your thoughts and experience with Interface in programming and real life as well.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="MsoNormal" style="margin-left: .25in;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/OoPVhRYTsFY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/2792189990439222268/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2011/11/interface-middle-man.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/2792189990439222268?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/2792189990439222268?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/OoPVhRYTsFY/interface-middle-man.html" title="&quot;Interface&quot; The Middle Man" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2011/11/interface-middle-man.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IGQ38zcSp7ImA9WhRSGEo.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-7722208816857368139</id><published>2011-10-24T08:51:00.000-07:00</published><updated>2011-11-21T02:32:02.189-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-21T02:32:02.189-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Mobile App" /><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><category scheme="http://www.blogger.com/atom/ns#" term="iOS" /><title>Let's Talk About FRIDAY</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div&gt;
Hi All,&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
We are now living in a fast growing world. Everyday gives us something new to wonder about and new to think about. And the first thought comes to my mind, what next. And everyday i again start with the same thought...WHAT NEXT....&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
When the other day i was sitting and having a coffee at a wee hour in office, one of my colleague pointed out that the biggest shock our time has also given birth to probably one of the finest inventions of our time. Used to seeing these technologies in movies like MI and all the Bond movies suddenly this became a beautiful reality of our times. Those who are wondering what i am talking about, yes it is Steve Jobs and SIRI respectively.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Everyone appreciated it and hailed Steve Jobs for this wonderful innovation. But now allow me to go back to that wee hour in office, where my colleague also told me (although rather vaguely) about IRIS. Yes, looking at those bold letters you can find out that this is SIRI in reverse. That is exactly what you find in the app overview in the Android Market. I went and downloaded the app then and there. It was interesting, nothing like SIRI, but still interesting. And the mother of all surprises, it was developed by a small group of individuals in Kochi lead by Narayan Babu after a marathon 8 hour long stretched adrenaline rush (&lt;a href="http://blog.dexetra.com/a-day-when-siri-inspired-us-to-create-iris-fo"&gt;http://blog.dexetra.com/a-day-when-siri-inspired-us-to-create-iris-fo&lt;/a&gt;). I rest my case here to the further analysis of my readers about how successful IRIS would be.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
But I am not going to bash SIRI nor am I going to praise the team for evolving IRIS. Rather I would like to draw all of your attention to something very interesting that they were developing. Of course the development of IRIS gave them a good exposure to the world, but it simply doesn't make their innovation any less spectacular. &lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
So let's talk about FRIDAY. No no no....not the weekend (It is certainly not a weekend but we always make it one.Gone are the days when Sunday used to be the only weekend...rather the term weekend was non-existent. Anyway, let's focus on the topic). That is what these guys were developing for almost a year now. Before I confuse you with all my explanations, just have a look at the video to see what it is(&lt;a href="http://www.youtube.com/watch?v=6vTqYgcKJZ0&amp;amp;feature=player_embedded"&gt;http://www.youtube.com/watch?v=6vTqYgcKJZ0&amp;amp;feature=player_embedded&lt;/a&gt;). Doesn't need much more explaining...does it ?&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The interesting thing is, this can tell you where you were, when your battery died last time or for that matter when you were talking to your girlfriend :P (Atrocious logic...why would someone like to know that....But you never know). And you know what, you can register for the Hangout in Google+ for this and check out the launch of friday-app. At least Google+ will have some more hits. &lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Check this out...And I will let you know about the features...till then....&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This is Bishnu Signing Off.....&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/SZXZHvD4k0M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/7722208816857368139/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2011/10/lets-talk-about-friday.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/7722208816857368139?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/7722208816857368139?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/SZXZHvD4k0M/lets-talk-about-friday.html" title="Let's Talk About FRIDAY" /><author><name>Bishnu</name><uri>http://www.blogger.com/profile/12516896451583335629</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>1</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2011/10/lets-talk-about-friday.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cHR3s6cCp7ImA9WhVSGE0.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-1274309968587960810</id><published>2011-10-15T00:18:00.000-07:00</published><updated>2012-03-15T02:50:36.518-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-03-15T02:50:36.518-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="review" /><category scheme="http://www.blogger.com/atom/ns#" term="apple" /><title>iPhone 4S</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-VXPzH4saxdI/Tpkx7TDmXDI/AAAAAAAADxU/H26vXqv7bJo/s1600/fallback_hero.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="286" src="http://3.bp.blogspot.com/-VXPzH4saxdI/Tpkx7TDmXDI/AAAAAAAADxU/H26vXqv7bJo/s400/fallback_hero.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
After launch of iPhone 4s it disappoints many people who are expecting lots form it. It was a very important event as it took Apple long 13 months and there was no Steve Jobs this time. It’s the first
iPhone launched with Out Steve Jobs taking stage. So there were lot of buzz and comparison of Tim Cook’s show with Steve Jobs.&amp;nbsp; &lt;/div&gt;
&lt;div class="MsoNormal"&gt;
People expectation from Apple CEO on stage is very high, probably
no other company’s product launch can match. There were lots of speculation
that next version iPhone will all new design some thing like thinner, big
screen etc.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
Lets understand the realities, it is certainly very clear no
body can step into Steve Jobs shoe. And unfortunately Steve Job can’t take
stage anymore due to law of nature.&amp;nbsp; &lt;/div&gt;
&lt;div class="MsoNormal"&gt;
And coming to new design, Apple can’t just change the design
with each new version. If design change adds significant values then it makes
sense. Design change also involves change in manufacturing process. And iPhone
4 is still the sexiest phone available &amp;nbsp;with respect to design. &lt;/div&gt;
&lt;div class="MsoNormal"&gt;
With iPhone 4s it catch up with some linear hard ware
changes like dual core processor, better antenna and better camera. Yes you can say
even Samsung does same thing with each new version. &amp;nbsp;iPhone 4s comes with iOS 5 and iCloud. Those
are phenomenal and game changing. But all of us knew about it before.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
The surprise was “Siri”. It is voice recognize system. Which
understand what you speak and carry out the task. Voice recoginize system us
already there much before. But people don’t use that. The problem with it is we
have to remember specific commands or key word and&amp;nbsp; need to tell it. In case of “Siri” user can
talk naturally and Siri figure out what you mean. The words what you speak its
not important it looks for the meaning of whole thing. &amp;nbsp;The beautiful example was “ What is the
weather forecast today ? ” and “ Do I need to carry Umbrella today ? “. Siri is
smart enough to understand both. Yes that was ground breaking.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
It is the future how we interact with Computer. In 80s there
were command based interaction, 90s graphical user interface came. The next
thing is voice recognize system.&amp;nbsp;Siri is a serious step towards it.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
With Siri iPhone 4S is the most amazing device available on
earth.&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/TKGWjVfm4J8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/1274309968587960810/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2011/10/iphone-4s.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/1274309968587960810?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/1274309968587960810?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/TKGWjVfm4J8/iphone-4s.html" title="iPhone 4S" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-VXPzH4saxdI/Tpkx7TDmXDI/AAAAAAAADxU/H26vXqv7bJo/s72-c/fallback_hero.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2011/10/iphone-4s.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkICRH0-eCp7ImA9WhdbE08.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-6390467529370473696</id><published>2011-10-07T22:44:00.000-07:00</published><updated>2011-10-11T02:16:05.350-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-11T02:16:05.350-07:00</app:edited><title>Remembering Steve Jobs</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-s7eUJ13u-mQ/To_cfi4YY4I/AAAAAAAADxI/EXyFnkztgUU/s1600/t_hero.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="291" src="http://3.bp.blogspot.com/-s7eUJ13u-mQ/To_cfi4YY4I/AAAAAAAADxI/EXyFnkztgUU/s320/t_hero.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp;Last 48 hours&amp;nbsp;Facebook&amp;nbsp;,twitter all the social network flooded with&amp;nbsp;tribute&amp;nbsp;to Steve Jobs. I must say I saw some of the most innovative comments creative cartoons and &amp;nbsp;photographs&amp;nbsp;of my life saying RIP Steve Jobs or remembering him. To talk about Steve Jobs some how people use their innovative brain they brings creativity or in other way they think&amp;nbsp;different. Its not mac, not iPhone nor iPad ... its the idea "think different" which &amp;nbsp;is describe Steve Jobs.&lt;br /&gt;
&lt;div&gt;
Those people think different they not only just do their Job, they are there to make a&amp;nbsp;difference. Those crazy people move the human race forward. Some times they appear like crazy not practical, some time they appear in black t-shirt and blue jeans in a formal meeting. But they change the way we live, they change our life.&lt;/div&gt;
&lt;div&gt;
Again going back to those comments at&amp;nbsp;Facebook or twitters about Steve Jobs one thing is common &amp;nbsp;all are excellent one at that time. Excellence is another thing was very close to Steve Job.&amp;nbsp;When iPod or iPhone he built it was excellent in all respect at that time. He had never&amp;nbsp;settle&amp;nbsp;for anything less than perfection. Its natural People use perfection or excellence with result. Actually these terms should used much before result.&lt;/div&gt;
&lt;div&gt;
If we&amp;nbsp;don't&amp;nbsp;plan for excellence , work for excellence then the result cant be excellent.&lt;/div&gt;
&lt;div&gt;
Steve will continue to motivate "Think&amp;nbsp;differently" and will drive us for "Excellency".&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://1.gvt0.com/vi/4oAB83Z1ydE/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/4oAB83Z1ydE&amp;fs=1&amp;source=uds" /&gt;

&lt;param name="bgcolor" value="#FFFFFF" /&gt;

&lt;embed width="320" height="266"  src="http://www.youtube.com/v/4oAB83Z1ydE&amp;fs=1&amp;source=uds" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/MLDt7w5A94s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/6390467529370473696/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2011/10/remembering-steve-jobs.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/6390467529370473696?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/6390467529370473696?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/MLDt7w5A94s/remembering-steve-jobs.html" title="Remembering Steve Jobs" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-s7eUJ13u-mQ/To_cfi4YY4I/AAAAAAAADxI/EXyFnkztgUU/s72-c/t_hero.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2011/10/remembering-steve-jobs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YDRX48fSp7ImA9WhdUFU4.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-6215786529577218424</id><published>2011-10-01T21:52:00.000-07:00</published><updated>2011-10-01T21:52:54.075-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-01T21:52:54.075-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ExtJs" /><category scheme="http://www.blogger.com/atom/ns#" term="spring" /><title>ExtJs with Spring</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
ExtJs is an popular java script framework. To&amp;nbsp;develop&amp;nbsp;rich and interactive user interface, extjs is used. It is a basically library of java script component which are ready to use in&amp;nbsp;webpage.&lt;div&gt;
ExtJs components work&amp;nbsp;very well&amp;nbsp;with JSON data. If in server side we decide to Spring as framework. Its very easy to integrate ExtJs with Spring. In Spring MVC we can easily configure FTL (free marker&amp;nbsp;technology)&lt;/div&gt;
&lt;div&gt;
for specific to ExtJs Component. FTL is something which is&amp;nbsp;responsible&amp;nbsp;to convert java objects to desired JSON object. So there can be a generic controller in Spring, Which can be derived by other controller as per application&amp;nbsp;design.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
ExtJS component will talk to Spring controller which will return JSON objects.&lt;/div&gt;
&lt;div&gt;
Next thing I will try to put some code which will give a descent idea.&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/IoW5WLra0HM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/6215786529577218424/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2011/10/extjs-with-spring.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/6215786529577218424?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/6215786529577218424?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/IoW5WLra0HM/extjs-with-spring.html" title="ExtJs with Spring" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2011/10/extjs-with-spring.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUERnw9eip7ImA9WhdVGU8.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-1932193437310388212</id><published>2011-09-23T23:23:00.000-07:00</published><updated>2011-09-24T21:16:47.262-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-24T21:16:47.262-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Social Networking" /><title>Timeline is in right time for Facebook.</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Last week google opened its new social networking site (G+) for all user. In my last blog (&lt;a href="http://java-pallab.blogspot.com/2011/08/my-wall-is-my-hoarding.html"&gt;http://java-pallab.blogspot.com/2011/08/my-wall-is-my-hoarding.html&lt;/a&gt;) we visited its key functionality and how it bring some of our social behavior on web.Now the ball was in FB's court, it has to bring in similar feature. Yesterday in F8 conference, FB has just changed the game. Mark Zuckerberg was playing the role of Steve Jobs on the stage  The new sensational features of FB is time line and open graph. Through time line you can tell your life story in a collage of photos,videos,apps and other face book activity over the period of time. We can see our friends what they were up to 5 years back and how things changed. I feel its really cool. Open graph is a platform where people can chat, listin music, watch videos, tv shows together. I can see if  my group friends are watching some video, I can just join them and watch together. Its just perfectly right thing for facebook or any social network site. May be the next feature is you can dine with your friends online.  Those who wants have a hands on timeline can check (&lt;a href="http://www.insidefacebook.com/2011/09/23/how-to-use-facebook-timeline-profile/"&gt;http://www.insidefacebook.com/2011/09/23/how-to-use-facebook-timeline-profile/&lt;/a&gt;) . At present its available for developers only, To activate the same register as a facebook developer.&lt;br /&gt;
Like any champion Facebook has just raised the game in crucial time. Which makes Google+ has to do a lots of hard work to get its pie. For users like us it just fantastic to have such crazy stuffs which no body has ever imagined ....&lt;br /&gt;
According to you guys what can be the next feature, and where Google+ is heading ?&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/xkrp_pEKfIg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/1932193437310388212/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2011/09/timeline-is-in-right-time-for-facebook.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/1932193437310388212?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/1932193437310388212?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/xkrp_pEKfIg/timeline-is-in-right-time-for-facebook.html" title="Timeline is in right time for Facebook." /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2011/09/timeline-is-in-right-time-for-facebook.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEESHs5eip7ImA9WhdWGUw.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-2656213161623628525</id><published>2011-09-13T04:30:00.000-07:00</published><updated>2011-09-13T04:33:29.522-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-13T04:33:29.522-07:00</app:edited><title>Object Relation Mapping</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-e0Hv5skqhIY/Tm8-9hU_KmI/AAAAAAAADxE/JOMn27Uv4sM/s1600/images.jpeg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-e0Hv5skqhIY/Tm8-9hU_KmI/AAAAAAAADxE/JOMn27Uv4sM/s1600/images.jpeg" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/-bTzwFvvYLAk/Tm8-85ckwtI/AAAAAAAADxA/Q8s0fiCm8z4/s1600/db.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-bTzwFvvYLAk/Tm8-85ckwtI/AAAAAAAADxA/Q8s0fiCm8z4/s1600/db.jpeg" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
In a typical web application or any GUI based application,
MVC pattern is widely followed. MVC says there is a clear separation between
presentation layer, processing layer and the persistent layer. I always imagine
any private or MNC bank where there are front office people, Nice, beautiful
soft spoken who are the user interface. And in back office some ugly, tuff and
smart mangers who run the business.&amp;nbsp;&amp;nbsp; &lt;/div&gt;
&lt;div class="MsoNormal"&gt;
Similarly we design our java application and I assume this
holds good for mostly in Object oriented paradigm.&amp;nbsp; The presentation layer sends that data to
processing layer and it process as per business.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
All the time data resides in objects. In Java and mostly
other object oriented language, Objects are very lively. They have attributes, behavior
and sometime emotions. They are also &amp;nbsp;social as they &amp;nbsp;follow life cycle , share a relations
etc.&amp;nbsp; To save these lively objects in to
a dead hard disc or storage is called persistence.&amp;nbsp; We can’t store live object directly to
storage or database. (May be some time in future&amp;nbsp; ... this area is still under R&amp;amp;D ). We
have to break lively object to expression less&amp;nbsp;
tuple ( a row in db table). Vice versa is also very much part of the
game like converting the tuple to active Object.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
So in application programmer has to take care of these
breaking and making of object to store in to database. And this logic also
tightly coupled with different &amp;nbsp;type of
databases.&amp;nbsp; To improve the situation we
got OR mapping. Object&amp;nbsp; Relation mapping
where an object which need to be persist hold the information about the
relation/table&amp;nbsp; in database where it is
going to store.&amp;nbsp; And a framework which
implement OR mapping responsible for serializing and de-serializing of objects.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
Some popular examples of such OR implementing frameworks are
Hibernate, iBatis etc.&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
It reduces lots of effort and complexity of the programmer
to interact with database. And programmer can always concentrate on live
objects and Business.&lt;/div&gt;
&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/nchsDLzeY0g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/2656213161623628525/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2011/09/object-relation-mapping.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/2656213161623628525?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/2656213161623628525?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/nchsDLzeY0g/object-relation-mapping.html" title="Object Relation Mapping" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-e0Hv5skqhIY/Tm8-9hU_KmI/AAAAAAAADxE/JOMn27Uv4sM/s72-c/images.jpeg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2011/09/object-relation-mapping.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMCRXo-eip7ImA9WhdRFUs.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-4029394881190780112</id><published>2011-08-05T10:14:00.000-07:00</published><updated>2011-08-05T10:14:24.452-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-05T10:14:24.452-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Social Networking" /><title>My wall is my hoarding</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-cccPivlVgl8/TjwbD-rSlmI/AAAAAAAADwk/6U73Rhkyuo8/s1600/adv.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: left;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-cccPivlVgl8/TjwbD-rSlmI/AAAAAAAADwk/6U73Rhkyuo8/s1600/adv.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Now a days when ever my laptop boots automatically in a browser facebook opens. As if it is integrated with booting process.&amp;nbsp;In fact to be in facebook or any social&amp;nbsp;networking&amp;nbsp;site we don't have to switch on computer. They are right there in our mobile and tablet in form of Apps connecting 24 X 7. And why use social networking I never thought, may be Human is a social animal thats why. But because of social networking , it opens a new dimension of communication. For example in face book I like "Michael Jakson" music. When there is offer or discount on Mj's album Amazon shows some&amp;nbsp;advisement&amp;nbsp;for me. If Ford plan to launch its new model Figo in India it will make sure that Figo has a page in Facebook. Well it looks the new and hottest trend to promote product,service or brand in social&amp;nbsp;networking&amp;nbsp;site. And its working also. The information or content can pass form one people wall to other and reach lots of user in no time. So all most every digital content&amp;nbsp;available&amp;nbsp;in internet is connecting to these social networking site. And its so simple for instance if you like this particular article you can like/share by just clicking button below. And the information will be on your wall and your friends wall. If they do the same it can reach to tremendous number of people. So I thought its really fantastic and ground breaking.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;I was trying relate this with our traditional way of&amp;nbsp;advertising, Where people use to put information in big hoarding or they put posters in the wall of our houses. And If I need to post some information for example I want to give the house on rent it can be put into on wall of my house. So we used to use our wall for both inflow and outflow of information. And the same thing we are doing online through social networking.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;The inception of G+ with circle,hangout concept bring more&amp;nbsp;excitement. Now I can define my&amp;nbsp;neighbor&amp;nbsp;who can see which part of my wall I want to. And I can hangout with groups of people. It means more social stuff to virtual world. So some way we are moving towards what we used to do in real world is through computer. Its good or bad I don't have much idea.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;If I put together as they came first one to one messaging/scarping (Orkut) then the concept of wall where many to many communication (FB) now we have G+ where we have&amp;nbsp;neighbor and hangout ... If we think in this line what will be next ...&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/jVF0jCDvd-Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/4029394881190780112/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2011/08/my-wall-is-my-hoarding.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/4029394881190780112?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/4029394881190780112?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/jVF0jCDvd-Y/my-wall-is-my-hoarding.html" title="My wall is my hoarding" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-cccPivlVgl8/TjwbD-rSlmI/AAAAAAAADwk/6U73Rhkyuo8/s72-c/adv.jpg" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2011/08/my-wall-is-my-hoarding.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEABRH05eCp7ImA9WhVSGUs.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-8144931804879054895</id><published>2011-06-22T08:55:00.000-07:00</published><updated>2012-03-16T22:39:15.320-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-03-16T22:39:15.320-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="review" /><category scheme="http://www.blogger.com/atom/ns#" term="apple" /><title>Apple iCloud first impression</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://lh5.googleusercontent.com/-1PAwFFy-gtM/TgIPOwHfkpI/AAAAAAAADtE/FDZOsU51mQ8/s104/icloud.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="https://lh5.googleusercontent.com/-1PAwFFy-gtM/TgIPOwHfkpI/AAAAAAAADtE/FDZOsU51mQ8/s200/icloud.jpg" width="166" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
In recent Apple world wide&amp;nbsp;developer&amp;nbsp;conference Apple launched its new cloud service with other major release like lion and ios 5. Well apple is known for its visionary product and game changer in the industry. Specially with recent success of iPhone and iPad. So before iCloud&amp;nbsp;release&amp;nbsp;huge built up happened, Steve Job's medical leave also raised lots of eyebrows. Cloud was not new to the market. Amazon, Google and Microsoft have already entered into the market with their cloud products. I found two features which make iCloud&amp;nbsp;different&amp;nbsp;form competitors.&lt;br /&gt;
&lt;div&gt;
1) Most of the cloud services available are some form of&amp;nbsp;infrastructure( ex : computing, storage etc) are hosted on clouds. As Steve Job told iCloud is much beyond than a Hard Disc on space. In this case applications are&amp;nbsp;focus&amp;nbsp;rather than the platform.Various application&amp;nbsp;sync&amp;nbsp;with each other over cloud automatically. User doesn't have to do anything extra. Applications will automatically take care of connecting to cloud and syncing the content. In Apple's word "it just work".&lt;/div&gt;
&lt;div&gt;
2) Sdk of iCloud is open for&amp;nbsp;developers. It means not only those 6 or 7 apps from Apple will be on iCloud, it will be much&amp;nbsp;beyond&amp;nbsp;than that. It will&amp;nbsp;certainly&amp;nbsp;bring out lots of innovation and amazing apps from all over the world to one platform in a nice way.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
I am waiting to have an&amp;nbsp;experience&amp;nbsp;of these and services.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
Oh yes one more thing iCloud is free for everybody :)&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/sHzpHy4GAZU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/8144931804879054895/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2011/06/apple-icloud-first-impression.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/8144931804879054895?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/8144931804879054895?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/sHzpHy4GAZU/apple-icloud-first-impression.html" title="Apple iCloud first impression" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh5.googleusercontent.com/-1PAwFFy-gtM/TgIPOwHfkpI/AAAAAAAADtE/FDZOsU51mQ8/s72-c/icloud.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2011/06/apple-icloud-first-impression.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcARHo4eCp7ImA9WhZWFk4.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-3245382364978869279</id><published>2011-05-17T04:00:00.000-07:00</published><updated>2011-05-17T04:00:45.430-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-17T04:00:45.430-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OO design" /><title>Divide &amp; Rule</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-VH8bayRPhhM/TdIDAVKR3xI/AAAAAAAADrY/8dgAKBbsuCY/s1600/divide-and-rule.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-VH8bayRPhhM/TdIDAVKR3xI/AAAAAAAADrY/8dgAKBbsuCY/s1600/divide-and-rule.png" /&gt;&lt;/a&gt;&lt;/div&gt;"Divide &amp;amp; Rule" also known as&amp;nbsp; divide and conquer is a very famous way to attack the problem. History witnessed this strategy work in very complex situation. It is very famous in political and military circle. It is used to influence countries, win wars and play a big role in international politics.&lt;br /&gt;
In corporate people also take the help of this rule frequently. In Computer Science Design of Algorithm classes it is one of technique to attack a problem.&lt;br /&gt;
Mostly when we plan for enterprise software previous experience says that maintenance is more costlier than developing.&amp;nbsp; With time requirements, business rules change for which&amp;nbsp; maintenance is really necessary. As Change is the only constant in this world, we can not avoid the situation. So maintainability is the highest precedence while designing or developing an application. That is the reason Object Oriented languages (Java, C#, C++ etc.) are popular. They have the feature to mange the complexity of software better than procedural language. So basically OO design means managing the complexity. Divide the complex functionality into integration of smaller/maintainable&amp;nbsp; component. How to and what extend to divide ... These are some decision which designer has to take to have a optimum solution.&lt;br /&gt;
So next time we face a problem this will be an handy technique to approach it ......&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/OWuq8y1jbxA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/3245382364978869279/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2011/05/divide-rule.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/3245382364978869279?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/3245382364978869279?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/OWuq8y1jbxA/divide-rule.html" title="Divide &amp; Rule" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-VH8bayRPhhM/TdIDAVKR3xI/AAAAAAAADrY/8dgAKBbsuCY/s72-c/divide-and-rule.png" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2011/05/divide-rule.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ANQHk6eCp7ImA9WhZXF00.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-1224606054736435786</id><published>2011-05-06T11:16:00.000-07:00</published><updated>2011-05-06T11:16:31.710-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-06T11:16:31.710-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="What is Web  service" /><title>Web services are Self Service</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;In my college days ... There used to be a&amp;nbsp;techno fest. It is completely&amp;nbsp;organised&amp;nbsp;by students starting form event planning, marketing and execution. All students were contributing in some way. With some friends I had planned to put a food stall in the college for event. The college campus was 20km away from city, and in the event normal canteen&amp;nbsp;service&amp;nbsp;is shutdown. So food stall is hot cash business in that situation. We wanted to make some money by creating some value.But we had no idea how to manage a&amp;nbsp;restaurant&amp;nbsp;for two days. We decided to buy foods from a&amp;nbsp;restaurant&amp;nbsp;from the city and we will serve the same food in our stall with some higher price.&lt;div&gt;And the idea worked we made some handsome profit. And the students also&amp;nbsp;appreciated&amp;nbsp;the food quality.....&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Some time to provide some service to end user the service provider need to consume some other service. In this scenario a system need to use service/resource&amp;nbsp;of another system. If it happens on web (www) then it is called&amp;nbsp;web service. It is a standard way how two system can interact. Normally one system host some service the other consume. At the end of the day user get the complete service :)&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/PfVYsMI--ns" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/1224606054736435786/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2011/05/web-services-are-self-service.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/1224606054736435786?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/1224606054736435786?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/PfVYsMI--ns/web-services-are-self-service.html" title="Web services are Self Service" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2011/05/web-services-are-self-service.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIMSXw6fSp7ImA9WhZRE0o.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-7242666205495386850</id><published>2011-03-21T05:17:00.000-07:00</published><updated>2011-04-09T11:09:48.215-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-09T11:09:48.215-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="inversion of control" /><category scheme="http://www.blogger.com/atom/ns#" term="dependency injection" /><category scheme="http://www.blogger.com/atom/ns#" term="spring" /><title>Spring king of all season</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Most of the&amp;nbsp;developer&amp;nbsp;worked in Java is aware of spring frame work. And who doesn't know anything about Spring framework can think about&amp;nbsp;experienced&amp;nbsp;spring season. Like many other frame works available Spring also serve as container. It creates the java object/component run time and manage them. The application developer can&amp;nbsp;concentrate&amp;nbsp;on business logic and really forget about managing objects. When people talk about Spring two terms dependency injection and inversion of controller always comes. Let me also write about these... When there is a situation a object use another object (association).&lt;br /&gt;
Lets have an example:&lt;br /&gt;
Class Orchestra&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dancer&amp;nbsp; dancer = new Dancer();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Singer&amp;nbsp;&amp;nbsp; singer = new Singer();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; perform() &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dancer.dance();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; singer.sing();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Here Orchestra class use Dancer and Singer to perform the job.&amp;nbsp; Well tomorrow we need some modern dancing and some different kind of Song we have to change the Orchestra class.&lt;br /&gt;
In Spring way we can re write some thing like below. &lt;br /&gt;
&lt;br /&gt;
Class Orchestra&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IDancer&amp;nbsp; dancer;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ISinger&amp;nbsp;&amp;nbsp; singer;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; perform() &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dancer.dance();&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; singer.sing();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Interface IDancer&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; dance();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Interface ISinger&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; sing();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
BreakDancer implements IDancer&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; dance()&lt;br /&gt;
&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ----&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ----&lt;br /&gt;
&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
RockSinger implements ISinger&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; sing()&lt;br /&gt;
&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ----&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ----&lt;br /&gt;
&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
In Runtime we can inject the dancer and Singer to Orchestra using Spring. Well here with singer and dancer we are injecting the dependency to Orchestra. And Orchestra gave the control which kind of dancer and singer is going to perform. This is something called inversion of control.&amp;nbsp; We can do both xml based or annotation based configuration in Spring. Here is the xml version&lt;br /&gt;
&lt;bean class="com.action.Orchestra" id="orchestra"&gt;&lt;property name="singer"&gt;&lt;ref bean="rockSinger"&gt;&lt;/ref&gt;&lt;property name="dancer"&gt;&lt;ref bean="breakDancer"&gt;&lt;/ref&gt;&lt;/property&gt;&lt;bean id="rockSinger"&gt;&lt;bean id="breakDancer"&gt;&lt;property name="target"&gt;&lt;bean class="com.action.BreakDancer"&gt;&amp;lt;bean id="orchestra" class="com.action.Orchestra"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="singer"&amp;gt;&amp;lt;ref bean="rockSinger"/&amp;gt;&amp;lt;/property&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="dancer"&amp;gt;&amp;lt;ref bean="breakDancer"/&amp;gt;&amp;lt;/property&amp;gt;&lt;br /&gt;
&amp;lt;/bean&amp;gt;&lt;br /&gt;
&amp;lt;bean id="rockSinger"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="target"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bean class="com.action.RockSinger" /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/property&amp;gt;&lt;br /&gt;
&amp;lt;/bean&amp;gt;&lt;br /&gt;
&amp;lt;bean id="breakDancer"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="target"&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bean class="com.action.BreakDancer" /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/property&amp;gt;&lt;br /&gt;
&amp;lt;/bean&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/bean&gt;&lt;/property&gt;&lt;/bean&gt;&lt;/bean&gt;&lt;/property&gt;&lt;/bean&gt;&lt;br /&gt;
&lt;br /&gt;
So spring gives such a environment where&amp;nbsp; we have all the freedom to configure anything up to any level. &lt;br /&gt;
Have a nice time in Spring :)&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/nC6fRlFARyY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/7242666205495386850/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2011/03/spring-king-of-all-season.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/7242666205495386850?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/7242666205495386850?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/nC6fRlFARyY/spring-king-of-all-season.html" title="Spring king of all season" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2011/03/spring-king-of-all-season.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcNQXY_fSp7ImA9WhZTGEw.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-4820635423744777531</id><published>2011-03-10T07:48:00.000-08:00</published><updated>2011-03-22T10:48:10.845-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-22T10:48:10.845-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="software as service" /><category scheme="http://www.blogger.com/atom/ns#" term="cloud service" /><title>Don't Own.Rent and Use</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-uTcDFm1tT1s/TXjyiupT7UI/AAAAAAAADp8/DfGX5tLj388/s1600/images.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="https://lh6.googleusercontent.com/-uTcDFm1tT1s/TXjyiupT7UI/AAAAAAAADp8/DfGX5tLj388/s1600/images.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;Its always a&amp;nbsp;trade off&amp;nbsp;whether&amp;nbsp;to own or take it on rent. Like some time its very difficult to buy a luxury house but you can take it for rent. Actually its not applicable to only house we can extend it to car, furniture even girl friend also :p The advantage of taking on rent is as we don't own it we only pay as we use. The trend is slowly moving towards pay for usage of software also. For example to write this blog i don't have to own a blogging site, I can use google service with all other users. Certainly I can customize it . I agree i cant customize it to the extend if i own it. But it is really&amp;nbsp;economical.&amp;nbsp;Well the idea can be roll into all possible s/w. Lets think a&amp;nbsp;scenario&amp;nbsp;when the SAP will host all its&amp;nbsp;enterprise&amp;nbsp;solution in its server and all the&amp;nbsp;company&amp;nbsp;will use through web. Well it has&amp;nbsp;challenge&amp;nbsp;like security, customization according to user ... But i feel the industry is mature enough and ready to take this&amp;nbsp;challenges.&amp;nbsp;Infact&amp;nbsp;TCS is already started with iON for small scale and mid scale industry.It reduces the software cost dramatically and can be&amp;nbsp;accessible&amp;nbsp;to lots. People say it software as service, software on cloud....Its just renting software... So before all the big player enter to the game lets rent some thing :P&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/QiCkZbA3Gts" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/4820635423744777531/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2011/03/dont-ownrent-and-use.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/4820635423744777531?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/4820635423744777531?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/QiCkZbA3Gts/dont-ownrent-and-use.html" title="Don't Own.Rent and Use" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh6.googleusercontent.com/-uTcDFm1tT1s/TXjyiupT7UI/AAAAAAAADp8/DfGX5tLj388/s72-c/images.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2011/03/dont-ownrent-and-use.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEASHw-cCp7ImA9Wx9aFkQ.&quot;"><id>tag:blogger.com,1999:blog-8776378117389609026.post-3633547426357963122</id><published>2011-03-02T09:59:00.000-08:00</published><updated>2011-03-09T10:17:29.258-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-09T10:17:29.258-08:00</app:edited><title>Designing is a Luxury</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;It was a hot summer, I had joined a new team we all were working towards a new project. To understand the system and to arrive common understanding we were doing prototype and series of discussions with end users. I had a chance to part of design team. In that phase we had a review with our delivery manger. We updated the status like now we are designing the system and the status of the progress. The manager told "Well you have a luxury to design. Have fun." I thought whats the fuck design is essential and I read in all s/w life cycle book there is a design phase. Any way I forgot that statement as my brain was not able to process that statement further.&lt;br /&gt;
Then I tried to learn basic design concept, design pattern, Gang of 4 everything I found in internet. Somebody told me no need to reinvent the wheel use the existing solution available in pattern. My problem was to fit a pattern according to my requirement. Well some how I copied from existing design with little modification finished the design before dead line. We had a fantastic feed back in the review meeting. Then we kept it as a monument which we never use.&lt;br /&gt;
&lt;br /&gt;
Its very obvious that developers needs freedom to write their implementation. If I want my design to be implemented its really important developer should understand. We can broadly say 2 things while doing/thinking about a design.&lt;br /&gt;
1) If tomorrow there is a change in&amp;nbsp;business&amp;nbsp;rule or a new feature is added,&amp;nbsp;whether&amp;nbsp;it can be&amp;nbsp;plugged&amp;nbsp;easily with out rebuilding the existing classes.&lt;br /&gt;
2) How I am going to communicate my idea to the&amp;nbsp;developer, so that&amp;nbsp;developer&amp;nbsp;really can follow it&lt;br /&gt;
Still Thinking ....&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MyExperimentsWithJava/~4/1_SMB2FSfgg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.myexperimentswithjava.com/feeds/3633547426357963122/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.myexperimentswithjava.com/2011/03/designing-is-luxury.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/3633547426357963122?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8776378117389609026/posts/default/3633547426357963122?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MyExperimentsWithJava/~3/1_SMB2FSfgg/designing-is-luxury.html" title="Designing is a Luxury" /><author><name>Pallab Rath</name><uri>https://plus.google.com/114333516399724300331</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-U4jZzsxFSXE/AAAAAAAAAAI/AAAAAAAAEsk/kzPSAtGJMf4/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.myexperimentswithjava.com/2011/03/designing-is-luxury.html</feedburner:origLink></entry></feed>
