Facebook Description
By: Tommy Lee • March 18, 2019 • Coursework • 1,945 Words (8 Pages) • 819 Views
I. Introduction Facebook is a free access website, which is operated by Facebook,Inc. People can use Facebook as a way to connect and interact with others online. They also can make friends, send messages and update their profile pages. According to Dan Noyes (2015), there was a significant increase in a number of active Facebook users, about 18% year by year. It means about 890 million people access to Facebook site every day. With that number, Facebook is one of the most popular social networking websites over the world. This report aims to research about the technologies that Facebook used and have been using. The structure is divided into 2 part. The first part is about technologies, include 4 section: programming language and database that are used to develop Facebook, security architecture and server architecture. The second part is about whether the programming language and database change over time. II. Technologies 1. Programming languages Facebook use PHP programming language for the frontend development. PHP is a programming language or a scripting code tobeusedprimarily todevelopapplications write to the server, open source, general purpose. It is well suited to the web and can be easily embedded into HTML pages. Facebook is written in PHP because it is optimized for Web applications, fast, compact, like C, Java syntax and the time to build the product short compared to other languages. PHP is also a web programming language popular in the world. Besides that, the frontend is also written in JavaScript, which is running in users’ browser like most of the website. JavaScript is a programming language for interactiveweb pages. It is also a clientside programming language only and one popular way to develop applications for the user interface (UI). Facebook also use Linux operating system for the frontend. It is run on Apache HTTP Servers,whichis is themostpopular opensourceweb server in use. For the backend service side, mostof themarewritteninC, C++andJava. C is very effective and most preferred programming language to write a software system or
application. C++ is like an enhanced version of theClanguagewithsomeadditions suchas the concept of class, theconcept of virtual functions,operator husband, multipleinheritance, templates, and exception handling. Java is a language objectoriented programming (OOP) and based on the class (class). Java syntax is borrowed much from C & C ++, but the objectoriented syntax simpler and less powerful lower handle. Therefore, a program which is written in Java is easier and simpler, helps to take more bugfixes.Pythonis alsousedin some areas like internal tools and glue code. Python is an easy language to learn, and powerful. It has highlevel data structures efficiently and object oriented programming simple. It is a superlative language to write the script and rapid application development in many areas and on almost every system. The underlies Chat and the channel servers are developed in Erlang programming languages. C++, PHP, Python, Java and Erlang alsoare supported byThriff.ThecommunicationbetweenthewebfrontendandbackenduseApache Thriff. 2. Database Basically, Facebook uses MySQL for editing structured data storage which includes personal data and spreadsheets, such as wall posts,user informationandtimeline. MySQL is used primarily as a main storage of data and spreads between numerous of logical requests. MySQL is able to work flexibly and accurately so Facebook uses it as its main database. PHPisascriptinglanguageandaadvancedwebprogramminglanguageamongwith many worthy provisions with active and high skilled administrators who give responses quickly and accurately.Facebook’s main form of storing is Memcached which is able to decrease the loading time of the database efficiently.Data is stored in RAM to make the database driven website to run smoothly and actively by Memcached – a memory storing system. This is the reason why Facebook try to utilize it. Cassandra is a database management system that helps Facebook to process the huge amount of data through a lot of servers. It powers Facebook’s Inbox Search feature and provides a structured keyvalue store with eventual consistency. HipHop for PHP is a source code transformer for PHP writingcodeandwas created to save server resources. HipHop for PHP changes PHP source code into optimized C++. After doing this, it uses g++ to compile it to machine code.
3. Security architecture Security architecture is a security document design that addressestherequirements suchasauthenticationorauthorisationandalsoinnecessities
...