Monday, September 14, 2009

Data Grows Up (Facebook) BA ch 6

This chapter has a significant number of details about the Facebook system. It is more like a low level design to me. I got lost many times trying to understand all the details. The author explains the design decisions made and the rational behind them. Facebook was initially conceived as a social website where a user request causes data to be fetched, transformed and displayed. The platform was then extended to include other web services, a query language and a data-driven markup language (FBML) that allows outside applications to incorporate facebook’s data into their system. This feature is very helpful to other applications because it allows them to use valuable information already on facebook.
To guarantee user’s privacy, not all data are available through the data services. External applications do not have access to some data that facebook make available to the user.
I found very interesting the way the data-driven markup language is interpreted by facebook. Basically the external applications are some sort of data services providing the content to be displayed. Facebook interprets the FBML and displays the content provided by the application without violating the privacy of the user.

This chapter illustrates how an architecture can evolve from a simple social web page to a powerful platform with various other features. Each new change caused architects to change the system using even more powerful design decisions to add the features while keeping the fundamental requirements of data privacy and site experience integrity. So scalability is very critical to this architecture. Given the large number of people using facebook today, I am pretty sure that changes are ongoing and will continue on this architecture to provides new features

No comments:

Post a Comment