SlideShare a Scribd company logo
1 of 16
S
WHATSAPP
Maria Virginia Sgargi
Maria Vittoria Zani
Index
S What is Whatsapp?
S Protocol
S Architecture
S Language used
S Platform: Backend and Frontend
S Mechanism: Store and Forward, Offline
S Limitations
Cooperation tool
S Cooperation: come from
software support to enable
fast and simple
communication, both one to
one or among groups
Whatsapp is an app that hosts
this facility
One to one
One to many
What is WhatsApp?
S MIM application for smartphone
S Runs on many mobile platforms (Android, iOS, BBos, etc)
S Requires data plan/internet connection
S Beyond Text: full featured (shared locations, video, audio, pictures,
voice-messages, group-chats, send messages via WiFi, and all can be done
regardless of whether the recipient is online or not)
Protocol used
S Whatsapp uses a customized version
of the Open Standard "Extensible
Messaging and Presence Protocol"
S XMPP is a communications protocol
for message-oriented middleware
based on XML.
S XMPP is a relatively simple protocol
that occurs over TCP sockets using
XML language
XMPP Architecture
SSL
S The Secure Socket Layer (SSL) and Transport Layer Security (TLS) is the
most widely deployed security protocol used today.
It is essentially a protocol that provides a secure channel between two
machines operating over the Internet or an internal network.
Today the SSL protocol is used when a web browser needs to securely
connect to a web server over the inherently insecure Internet.
S Technically, SSL is a transparent protocol which requires little
interaction from the end user when establishing a secure session
Architecture: LYME or LYCE
High scalability
LYME or LYCE
S Mnesia: a distributed soft real-time DBMS written in Erlang, developed by
Ericsson to support Erlang where DBMS is required.
Erlang language instead SQL, so developers are allowed to use one language
Benefits for Erlang  efficiency , single virtual machine
address space is shared between code and data
S CouchDB: open source database that completely embraces the web
Apache license, it uses the JSON language to store data instead of SQL.
Important feature  multi-master application
Data is not stored by relations but each database is a collection of
independent documents.
Language
S WhatsApp server is implemented in Erlang
S Server systems that do the backend message
routing are done in Erlang
S The number of active users is managed
with a really small server footprint
Curiosity: Facebook Chat was written in Erlang in 2009, but they went away from it
because it was hard to find qualified programmers
S Before: WhatsApp server has started from Ejabberd that is a famous open source Jabber server
written in Erlang. Originally chosen because its open, ease of start and long term suitable
Platform
Backend
S Erlang
S FreeBSD
S Yaws,lighttpd
S PHP
S Mnesia
S Custom XMPP
S Hosting may be in Softlayer
Platform
Frontend
S Client platforms: Ios, Android, BBos, Nokia symbian, Windows Phone
Hardware
S Standard user facing server:
S Dual Westmere Hex-core (24 logical CPUs)
S 100GB RAM, SSD
S Dual NIC (public user-facing network, private back-end/distribution)
Mechanism: Store and Forward
Chat server
“A” client code
send
No Push notification
If client B is online
Mechanism when offline
All messages are queued on the server until the client reconnects to retrieve the messages.
Different platforms  different methods:
- Push notification and wait
- Notification in the App directly in Background
Messages are wiped from the server memory as soon as the client has accepted the
message
Limitations
S Max 10 images
S 25 users in group chat
S Time and day of last access
S Reduced length of videos
Whatsapp project work

More Related Content

What's hot

Class Presentation on WhatsApp
Class Presentation on WhatsAppClass Presentation on WhatsApp
Class Presentation on WhatsAppShadman Chowdhury
 
Development of Mobile Application -PPT
Development of Mobile Application -PPTDevelopment of Mobile Application -PPT
Development of Mobile Application -PPTDhivya T
 
A project report on chat application
A project report on chat applicationA project report on chat application
A project report on chat applicationKumar Gaurav
 
Whatsapp seminar-report
Whatsapp seminar-reportWhatsapp seminar-report
Whatsapp seminar-reportJyoti Kumari
 
Snapchat
SnapchatSnapchat
SnapchatShooger
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Javaamaankhan
 
Android app development ppt
Android app development pptAndroid app development ppt
Android app development pptsaitej15
 
Review on Whatsapp's End to End encryption and Facebook integration
Review on Whatsapp's End to End encryption and Facebook integrationReview on Whatsapp's End to End encryption and Facebook integration
Review on Whatsapp's End to End encryption and Facebook integrationGovindarrajan NV
 

What's hot (20)

Whats app
Whats appWhats app
Whats app
 
whats app
whats appwhats app
whats app
 
10 Amazing facts about WhatsApp
10 Amazing facts about WhatsApp10 Amazing facts about WhatsApp
10 Amazing facts about WhatsApp
 
Class Presentation on WhatsApp
Class Presentation on WhatsAppClass Presentation on WhatsApp
Class Presentation on WhatsApp
 
Whatsapp
WhatsappWhatsapp
Whatsapp
 
Development of Mobile Application -PPT
Development of Mobile Application -PPTDevelopment of Mobile Application -PPT
Development of Mobile Application -PPT
 
Instagram ppt
Instagram pptInstagram ppt
Instagram ppt
 
A project report on chat application
A project report on chat applicationA project report on chat application
A project report on chat application
 
Whatsapp seminar-report
Whatsapp seminar-reportWhatsapp seminar-report
Whatsapp seminar-report
 
Snapchat
SnapchatSnapchat
Snapchat
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Java
 
Chat Application
Chat ApplicationChat Application
Chat Application
 
Whatsapp
WhatsappWhatsapp
Whatsapp
 
Chat application
Chat applicationChat application
Chat application
 
Android vs iOS
Android vs iOSAndroid vs iOS
Android vs iOS
 
Android app development ppt
Android app development pptAndroid app development ppt
Android app development ppt
 
Review on Whatsapp's End to End encryption and Facebook integration
Review on Whatsapp's End to End encryption and Facebook integrationReview on Whatsapp's End to End encryption and Facebook integration
Review on Whatsapp's End to End encryption and Facebook integration
 
Android vs Ios
Android vs Ios Android vs Ios
Android vs Ios
 
Telegram
TelegramTelegram
Telegram
 
Telegram
TelegramTelegram
Telegram
 

Similar to Whatsapp project work

The Future of Software Development Based on Cloud & Mobile Computing
The Future of Software Development Based on Cloud & Mobile ComputingThe Future of Software Development Based on Cloud & Mobile Computing
The Future of Software Development Based on Cloud & Mobile ComputingSoftware Park Thailand
 
Mobile Developer's Guide To The Galaxy No. 9
Mobile Developer's Guide To The Galaxy No. 9Mobile Developer's Guide To The Galaxy No. 9
Mobile Developer's Guide To The Galaxy No. 9Marco Tabor
 
An introduction to Android
An introduction to AndroidAn introduction to Android
An introduction to AndroidRajesh Jambukia
 
Diccionario andris--------> ingles
Diccionario andris--------> inglesDiccionario andris--------> ingles
Diccionario andris--------> inglesandrisolano
 
MOBILE OPERATING SYSTEM
MOBILE OPERATING SYSTEMMOBILE OPERATING SYSTEM
MOBILE OPERATING SYSTEMcool192
 
Informatics Practices Chapter 2 Open Source Software Concepts Class 12th
 Informatics Practices Chapter 2  Open Source Software Concepts Class 12th Informatics Practices Chapter 2  Open Source Software Concepts Class 12th
Informatics Practices Chapter 2 Open Source Software Concepts Class 12thHarsh Mathur
 
A SWOT Analysis on Discord.pdf
A SWOT Analysis on Discord.pdfA SWOT Analysis on Discord.pdf
A SWOT Analysis on Discord.pdfSnehilshukla11
 
Android Architecture
Android ArchitectureAndroid Architecture
Android Architecturedeepakshare
 
Building Native Smartphone Apps with Rhodes
Building Native Smartphone Apps with RhodesBuilding Native Smartphone Apps with Rhodes
Building Native Smartphone Apps with RhodesAdam Blum
 
Eyeball Messenger SDK WebRTC Developer Reference Guide
Eyeball Messenger SDK WebRTC Developer Reference GuideEyeball Messenger SDK WebRTC Developer Reference Guide
Eyeball Messenger SDK WebRTC Developer Reference GuideEyeball Networks
 
Diccionario kelly ingles
Diccionario kelly inglesDiccionario kelly ingles
Diccionario kelly inglesduranmendez
 
java online training
java online trainingjava online training
java online trainingVarakumarB
 
Glossary of terms
Glossary of termsGlossary of terms
Glossary of termsSheSays US
 
What is Java | Learn Java | Types of Java
What is Java | Learn Java | Types of JavaWhat is Java | Learn Java | Types of Java
What is Java | Learn Java | Types of Javadevbhargav1
 

Similar to Whatsapp project work (20)

Ospf
OspfOspf
Ospf
 
Rama Krishna Reddy M
Rama Krishna Reddy MRama Krishna Reddy M
Rama Krishna Reddy M
 
The Future of Software Development Based on Cloud & Mobile Computing
The Future of Software Development Based on Cloud & Mobile ComputingThe Future of Software Development Based on Cloud & Mobile Computing
The Future of Software Development Based on Cloud & Mobile Computing
 
Rich Internet Application
Rich Internet ApplicationRich Internet Application
Rich Internet Application
 
Mobile Developer's Guide To The Galaxy No. 9
Mobile Developer's Guide To The Galaxy No. 9Mobile Developer's Guide To The Galaxy No. 9
Mobile Developer's Guide To The Galaxy No. 9
 
An introduction to Android
An introduction to AndroidAn introduction to Android
An introduction to Android
 
Diccionario andris--------> ingles
Diccionario andris--------> inglesDiccionario andris--------> ingles
Diccionario andris--------> ingles
 
MATHS
MATHSMATHS
MATHS
 
MOBILE OPERATING SYSTEM
MOBILE OPERATING SYSTEMMOBILE OPERATING SYSTEM
MOBILE OPERATING SYSTEM
 
Informatics Practices Chapter 2 Open Source Software Concepts Class 12th
 Informatics Practices Chapter 2  Open Source Software Concepts Class 12th Informatics Practices Chapter 2  Open Source Software Concepts Class 12th
Informatics Practices Chapter 2 Open Source Software Concepts Class 12th
 
A SWOT Analysis on Discord.pdf
A SWOT Analysis on Discord.pdfA SWOT Analysis on Discord.pdf
A SWOT Analysis on Discord.pdf
 
Android Architecture
Android ArchitectureAndroid Architecture
Android Architecture
 
Building Native Smartphone Apps with Rhodes
Building Native Smartphone Apps with RhodesBuilding Native Smartphone Apps with Rhodes
Building Native Smartphone Apps with Rhodes
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introduction
 
Eyeball Messenger SDK WebRTC Developer Reference Guide
Eyeball Messenger SDK WebRTC Developer Reference GuideEyeball Messenger SDK WebRTC Developer Reference Guide
Eyeball Messenger SDK WebRTC Developer Reference Guide
 
Diccionario kelly ingles
Diccionario kelly inglesDiccionario kelly ingles
Diccionario kelly ingles
 
java online training
java online trainingjava online training
java online training
 
Powerpoint 2
Powerpoint 2Powerpoint 2
Powerpoint 2
 
Glossary of terms
Glossary of termsGlossary of terms
Glossary of terms
 
What is Java | Learn Java | Types of Java
What is Java | Learn Java | Types of JavaWhat is Java | Learn Java | Types of Java
What is Java | Learn Java | Types of Java
 

Whatsapp project work

  • 2. Index S What is Whatsapp? S Protocol S Architecture S Language used S Platform: Backend and Frontend S Mechanism: Store and Forward, Offline S Limitations
  • 3. Cooperation tool S Cooperation: come from software support to enable fast and simple communication, both one to one or among groups Whatsapp is an app that hosts this facility One to one One to many
  • 4. What is WhatsApp? S MIM application for smartphone S Runs on many mobile platforms (Android, iOS, BBos, etc) S Requires data plan/internet connection S Beyond Text: full featured (shared locations, video, audio, pictures, voice-messages, group-chats, send messages via WiFi, and all can be done regardless of whether the recipient is online or not)
  • 5. Protocol used S Whatsapp uses a customized version of the Open Standard "Extensible Messaging and Presence Protocol" S XMPP is a communications protocol for message-oriented middleware based on XML. S XMPP is a relatively simple protocol that occurs over TCP sockets using XML language
  • 7. SSL S The Secure Socket Layer (SSL) and Transport Layer Security (TLS) is the most widely deployed security protocol used today. It is essentially a protocol that provides a secure channel between two machines operating over the Internet or an internal network. Today the SSL protocol is used when a web browser needs to securely connect to a web server over the inherently insecure Internet. S Technically, SSL is a transparent protocol which requires little interaction from the end user when establishing a secure session
  • 8. Architecture: LYME or LYCE High scalability
  • 9. LYME or LYCE S Mnesia: a distributed soft real-time DBMS written in Erlang, developed by Ericsson to support Erlang where DBMS is required. Erlang language instead SQL, so developers are allowed to use one language Benefits for Erlang  efficiency , single virtual machine address space is shared between code and data S CouchDB: open source database that completely embraces the web Apache license, it uses the JSON language to store data instead of SQL. Important feature  multi-master application Data is not stored by relations but each database is a collection of independent documents.
  • 10. Language S WhatsApp server is implemented in Erlang S Server systems that do the backend message routing are done in Erlang S The number of active users is managed with a really small server footprint Curiosity: Facebook Chat was written in Erlang in 2009, but they went away from it because it was hard to find qualified programmers S Before: WhatsApp server has started from Ejabberd that is a famous open source Jabber server written in Erlang. Originally chosen because its open, ease of start and long term suitable
  • 11. Platform Backend S Erlang S FreeBSD S Yaws,lighttpd S PHP S Mnesia S Custom XMPP S Hosting may be in Softlayer
  • 12. Platform Frontend S Client platforms: Ios, Android, BBos, Nokia symbian, Windows Phone Hardware S Standard user facing server: S Dual Westmere Hex-core (24 logical CPUs) S 100GB RAM, SSD S Dual NIC (public user-facing network, private back-end/distribution)
  • 13. Mechanism: Store and Forward Chat server “A” client code send No Push notification If client B is online
  • 14. Mechanism when offline All messages are queued on the server until the client reconnects to retrieve the messages. Different platforms  different methods: - Push notification and wait - Notification in the App directly in Background Messages are wiped from the server memory as soon as the client has accepted the message
  • 15. Limitations S Max 10 images S 25 users in group chat S Time and day of last access S Reduced length of videos

Editor's Notes

  1.  • Multimedia messages are sent by uploading the image, audio or video to be sent to an HTTP server and then sending a link to the content along with its Base64 encoded thumbnail (if applicable). • Some code is usually pushed every day. Often, it’s multiple times a day, though in general peak traffic times are avoided. Erlang helps being aggressive in getting fixes and features into production. Hot-loading means updates can be pushed without restarts or traffic shifting. Mistakes can usually be undone very quickly, again by hot-loading. Systems tend to be much more loosely-coupled which makes it very easy to roll changes out incrementally Kill the process from the settings