Faculty Of Engineering - Computer Engineering Department
Ceng 526 - Software Architecture
Nurşah ÖNTÜRK - 201471201
Ayşegül ATILGAN - 201571005
Asist. Professor Dr. Murat YILMAZ
Total Word Count : 2.500
Table of Contents
What is WhatsApp? 4
Where and by whom was founded ? 4
Purpose and Scope of the WhatsApp 4
How it actually works 4
WhatsApp Features 5
WhatsApp Architecture 5
Protocol Used 5
XMPP Architecture 5
Ejabbered Architecture 6
Operating System 6
Multi Media File Storage Server 6
Architectural Goals and Constraints 7
Use Case View 10
View Description 10
View Packet Overview 10
Logical View 12
Referances Material 13
Table of Figures
Figure 1: WhatsApp working system 4
Figure 2: XMPP Diagram 5
Figure 3: Server Diagram 6
Figure 4: End-to-end encryption in WhatsApp 7
Figure 5: Call screen in WhatsApp 8
Figure 6: Web Page in WhatsApp 9
Figure 7: Use Case Diagram of WhatsApp Users 10
Figure 8: Use Case Diagram of WhatsApp Admin 11
This report represents the architectural structure of WhatsApp technology. The architecture changes when technology and requirements change. This documentation is a handbook that describes this system well. WhatsApp is an application that allows communication exchange. WhatsApp is a system with the most users developed in 2010. So architectural and software quality should be at the best level. This can be seen in this documentation. It is a structure that prevents complexity. This structure is mentioned from WhatsApp\'s system, architecture and technology requirements. It introduces the system, provides guidance and aims to reinforce it with the created diagrams.
What is WhatsApp?
WhatsApp Messenger is a messaging and search application developed for smartphones with the platform-by-platform feature. WhatsApp name is a word game of What\'s Up statement.
Where and by whom was founded ?
WhatsApp Inc. was founded by former Yahoo employees Biran Acton and Jan Koum in Santa Clara, California, USA.
Purpose and Scope of the WhatsApp
More than 1 billion people in more than 180 countries are using WhatsApp to stay in touch with friends and family, anytime and anywhere. WhatsApp is free and offers an easy, secure, reliable messaging and dialing service that can be used on any phone around the world.
How it actually works
WhatsApp is considered by every user ACTOR.
Figure 1: WhatsApp working system
WhatsApp uses your phone\'s Internet connection to send messages, so you do not pay SMS fees.
With group chats you can share up to 256 messages, photos and videos at once. You can also name your group, take an appointment, or set notifications according to your preference.
WhatsApp voice and video calling uses your phone\'s Internet connection instead of minutes in your data plan. So you do not have to worry about the money costs.
With WhatsApp on the web and on the desktop, you can seamlessly synchronize all your chats with your computer. So you can choose it from which device you prefer to continue wailing.
Send photos and videos instantly via WhatsApp. If your connection is slow, you can quickly send photos and videos to WhatsApp.
End-to-end encryption protects your messages and calls you send. You and the person you are communicating with can read or listen to them, and nobody in between, WhatsApp can read or listen to them.
You can send PDFs, documents, spreadsheets, slideshows and more up to 100 MB so you can easily send whatever you want easily.
You can record a short or long Voicemail with just one tap.
WhatsApp uses a customized version of the open standard Extensible Messaging and Presence Protocol (XMPP). Upon installation, it creates a user account using one\'s phone number as the username.
XMPP (Extensible Messaging and Presence Protocol) is being used by WhatsApp. To ensure network security, DSL is being used. This ensures private data transfer.
As and when message is sent, it is queued on the server. The message waits in the queue until the recipient reconnects to receive the message. As and when a message is delivered the sender gets notified by a double check mark near the message. After the delivery the messages are instantly deleted from the server memory.
Figure 2: XMPP Diagram Server
WhatsApp server has used from Ejabberd. Ejabberd is a famous open source Jabber server written in Erlang.
Figure 3: Server Diagram
Erlang is the programming language used by WhatsApp. Ejabberd is an open source Jabber server written in Erlang language. It was preferred by the techies of WhatsApp as it was suitable for accommodating huge communication system with high sustainability.
Erlang also helps by quickly adapting to instant updates and hot fixes. Whatever may be the improvisations or coding improvements, Erlang helps in quickly pushing the changes to live implementation without needing restarts. Thus any changes can be rolled out in quick time and succession.
WhatsApp uses an instant messaging solution developed with the right technologies. It is a messaging solution covering all the features of Contus Fly.WhatsApp uses Mnesia and MySQL database management system.Cassandra is used for flashy reading and writing speed.
WhatsApp is used FreeBSD operating system.WhatsApp is able to achieve better throughput with this operating system .
Multi Media File Storage Server
For multimedia file storage server uses an exclusive web server YAWS.
Architectural Goals and Constraints
Software quality is the degree of success of the problems the software tries to solve. There are some requirements for software quality. Software is expected to meet these requirements. WhatsApp has these quality requirements. If you do not have these requirements, it is not preferable.
Unauthorized transactions should not be possible for security. Security is less important than other software quality criteria. Software becomes more preferable thanks to its security. Users are very concerned about security. It is very important for WhatsApp. People are paying attention to security when communicating. It is not safe to record calls to read messages other than the contact person. WhatsApp provides security by using the end-to-end encryption method. Nobody will be able to access the content except for the recipients and senders. It moves privacy to the next level. As an added security, each sent message has its own unique lock and password. The person can see if it is encrypted. For these reasons it is different from other communication applications and one step ahead. It is a quality software in terms of security.
Figure 4: End-to-end encryption in WhatsApp
Performance is whether the software gives the desired expectations. The operating performance of the system is prioritized. Developers develop software according to this quality criterion because users need performance in the developed system.WhatsApp fulfills all expectations in this respect. Content is instantly shared when communicating. People who communicate do not live on standby. Speed communication is provided. Messages may slow down in the normal messaging system. There is no such problem in WhatsApp. Users are notified if the content is delivered. Video photo sharing visibility can be provided in high quality. The sharing of location information is convenient for users. Communication is fast and reliable although it is one of the most used applications in the world. It is a good quality in terms of performance. There is no slowness in communicating. There is no slowdown even when messaging with more than one person.
Usability has become increasingly prevalent in recent years. It affects the quality and cost of developed software projects. Usability is actually user satisfaction for WhatsApp. Easy to learn and user performance is very important. WhatsApp was not so much preferred, if availability was not so good. Since the system was introduced in 2010, it has 1 billion users. If the system was complex, it would not be the most preferred application. The vast majority of communication is provided by this system. As the number of users increases, effective use has increased. At first, it is only a messaging application. The call feature has been added to make the user more satisfied. The user can easily access the requests on the system. For example, the call button is directly on the main page for the call feature. The user can easily switch to the search section. It provides communication anywhere with internet connection. There is no cost. There are features that show whether messages are being transmitted. It provides feedback to this user. Satisfaction increases as usability increases. In terms of confidentiality, end-to-end encryption has been developed and user satisfaction has increased.
Figure 5: Call screen in WhatsApp
Modifiability is easy to make changes to the software system. We can examine it from two directions. These are maintenance and change. Maintenance is important to improve performance. Resolve software flaws. It is changed according to this view. If an error occurs when a code is open, this is corrected with a new update. Users update the application, the problem is solved. If there is a problem in the new update, users can send it as feedback. WhatsApp developers consider these. In addition, according to the phone version and model, new updates are provided. This modifiability process is very important for WhatsApp because people are constantly in communication. Maintenance and long-term use of change reduce the quality of WhatsApp. WhatsApp is now used not only for interpersonal communication, but also for cross-agency work. If this process was not good, whatsApp would not be used.
It is portable that the software can easily be transferred to different operating environments such as different hardware and operating systems. The system is portable, it affects the cost. A program that is executable for different platforms from the source code is very important. WhatsApp is a very sensitive application for this reason. It can operate in different operating systems. It used to be mobile until last year. But it is now communicating on the web. This has many advantages. For example, the BlackBerry phone had its own BlackBerry Messenger system. But only BlackBerry branded phones could communicate. When WhatsApp was available for each operating system, this system was not preferred. WhatsApp can be run synchronously from any platform thanks to web features. It is easier to choose how you like it. This is why WhatsApp is preferred.
Figure 6: Web Page in WhatsApp
Interoperability means that products, systems or business processes work together to perform a common process. Different programs can exchange information and use the same protocols. WhatsApp provides interoperability. The system receives persons information from the telephone. At this point, communication is established. The system location is retrieved from the phone when location information is shared. Location information is retrieved on phones with IOS operating system via apple maps application. Lately, whatsApp\'s collaboration with Giphy is on the agenda. Gif send started. These additional features increase the value of the system in terms of quality.
It is a requirement that the system is marketable. The quality of the system should be shown to the user well, the user should prefer this system. WhatsApp is a brand.WhatsApp has been popular with phone storages for the first time. Then, has become an application used by everyone. It has become very well marketable thanks to quality criteria.
Use Case View
WhatsApp is user-based an application. WhatsApp has to provide better communication. This system is useful communication tool. The system has two active actors. Each user is the authority of his / her own account. Users accessing the system will be online. It is intended for online access by the users in the system. The admin accesses the entire system directly.
View Packet Overview
This view packet contains the Use Case View, which indicates expected behaviors and requirements from the system.
New chat a user
Create new group chat
Broadcast new message
Call a user
Use Case Diagram
Figure 7: Use Case Diagram of WhatsApp Users
Users login to the system online to communicate. They can use call or messaging communication paths.
Users add their numbers when they first log into the system and become members of the system.
Users can communicate by message.
User can share a post, pictures, videos, contact, audio and location.
They can communicate in groups with more than one person.
They can send the information they want to share to more than one person at the same time.
Users can communicate by voice or video call.
Users can define pictures, notification and status, change them.
They can set privacy settings for the account or update these settings.
They can completely delete their accounts.
Use Case Diagram:
-Provide system settings
-Keep user information
Figure 8: Use Case Diagram of WhatsApp Admin
All authority of the system depends on admin.
1-It makes major changes in the system.
2-It updates the system.
3-Admin makes system settings.
4-Admin keeps contact information.
The use cases of WhatsApp vary according to technology and requirements. It is easy to implementation by determining these use cases. This validates the architecture of the system. It enables the software to construct the architecture more accurately. Both actors have generalization use cases. But the use case of the user is available include use cases.
WhatsApp uses SSL. Opening SSL is Secure Sockets Layer (SSL). SSL is the process of encrypting and using the data during communication between the server and the receiver. The most commonly used messaging is encrypting the communication by understanding the web browser with the server during the data exchange of the web sites.
In short, SSL allows data exchanging computers to transfer data securely between only the data exchanging computer, preventing anybody from interfering with the database.
WhatsApp is a communication system that can work on different platforms. It has become the most widely used application in recent times. It is an easy and reliable way of communication. It improves the technological advances. This report takes into account the architecture of the WhatsApp system. Architecture and software quality is a very good application. So it is preferred. A simple overview of the WhatsApp architecture was made.
...(download the rest of the essay above)