Friday, September 23, 2011

Timeline is in right time for Facebook.

Last week google opened its new social networking site (G+) for all user. In my last blog (http://java-pallab.blogspot.com/2011/08/my-wall-is-my-hoarding.html) 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 (http://www.insidefacebook.com/2011/09/23/how-to-use-facebook-timeline-profile/) . At present its available for developers only, To activate the same register as a facebook developer.
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 ....
According to you guys what can be the next feature, and where Google+ is heading ?

Tuesday, September 13, 2011

Object Relation Mapping



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.  
Similarly we design our java application and I assume this holds good for mostly in Object oriented paradigm.  The presentation layer sends that data to processing layer and it process as per business.
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  social as they  follow life cycle , share a relations etc.  To save these lively objects in to a dead hard disc or storage is called persistence.  We can’t store live object directly to storage or database. (May be some time in future  ... this area is still under R&D ). We have to break lively object to expression less  tuple ( a row in db table). Vice versa is also very much part of the game like converting the tuple to active Object.
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  type of databases.  To improve the situation we got OR mapping. Object  Relation mapping where an object which need to be persist hold the information about the relation/table  in database where it is going to store.  And a framework which implement OR mapping responsible for serializing and de-serializing of objects.
Some popular examples of such OR implementing frameworks are Hibernate, iBatis etc.
It reduces lots of effort and complexity of the programmer to interact with database. And programmer can always concentrate on live objects and Business.