Anda di halaman 1dari 16

Software Architecture Overview Report


Submitted on 2018.05.25 As Gang of Four (Team LiveZen)

Geeth Kavinda Perera (BSC-NSBM-SWE-17.1-040 | 10018721)
Thameera Malinga (BSC-NSBM-SWE-17.1-034 | 10018722)
Pasindu Madushan (BSC-NSBM-SWE-17.1-009 | 10018643)
Sandun Harshamal (BSC-NSBM-SWE-17.1-047 | 10018715)

To Dr. Prabath Weerasinghe

For the Softrwere Architecture Module of the degree of

P a g e 1 | 16


o Software specification
o Achievement
o Silent features of whatsapp for Android

How it Work? …………………………………………………………….. 5

o Technical specifics
o Downloading & Installing
o To verify Whatapp by interchanging the SIM cards
o Message sending Technique in Whatsapp
 When both clients are in online:
 When one clients is in online :
Protocol Used................................................................................................10

o Characteristics


P a g e 2 | 16

WhatsApp Messenger is a proprietary, cross-platform instant messaging application

for smartphones. Moreover, to basic messaging WhatsApp Messenger users can send
each other images, video as well as audio media messages. The client software is
available for Google Android, BlackBerry OS, Apple iOS, selected Nokia Series 40,
Symbian, selected Nokia Asha platform, Microsoft Windows Phone and BlackBerry
10. WhatsApp Inc. was founded in 2009 by Americans Brian Actonand Jan Koum (also
the CEO), both former employees of Yahoo!, and is based in Mountain View,
California. The company employs 55 people. WhatsApp Android is not compatible
with only Android ; it is available for iOS, BlackBerry OS, Symbian and Windows
Phone only. WhatsApp synchronizes with the phones contact’s book, so users do not
need to add contacts in a separate book. As the underlying technology the application
uses the open standard XMPP. On February 19, 2014, Facebook Inc. announced it is
acquiring WhatsApp Inc. for US$19 billion. Facebook will pay $4 billion in cash, $12
billion in Facebook shares and $3 billion in restricted stock units to be granted to
WhatsApp founders and employees that will vest over four years.

Software Specification:
• Developer(s) : WhatsApp Inc.
• Development status : Active
• O.S : Android, BlackBerry OS, iOS, Symbian, Series 40, and Windows Phone
• Type : Instant Messaging
• License: Proprietary
• Website :

P a g e 3 | 16
• WhatsApp crossed its own milestone for the first time by sending just over 1 billion
messages in a single day.
• Just how much is 1 billion messages? That is 41,666,667 messages an hour, 694,444
messages a minute, and 11,574 messages a second.
• 1 billion messages a day is a significant milestone
• WhatsApp is editors choice in google app market.

Silent features of WhatsApp For Android:

• Multiplatform and free for the first year (except on iOS).
• Automatic detection of Whatsapp users by comparing address book contents
• Low on network usage.
• Unlimited length of messages.
• Personal display status.
• Real-time confirmations when messages are sent as well as delivered.
• Share photos, videos, music and more with people.
• Able to send current or any specific location.
• Create and join groups where you can chat as well as share media.
• You can apply group icons.


P a g e 4 | 16
• WhatsApp Messenger is a cross-platform mobile messaging app which allows you to
exchange messages without having to pay for SMS.
• WhatsApp Messenger uses the same internet data plan that you use for email and web
browsing, there is no cost to message and stay in touch with your friends.
• WhatsApp users can create groups, send each other unlimited images, video and audio

Technical specifics
• WhatsApp uses a customized version of the open standard Extensible Messaging and
Presence Protocol (XMPP).
• Developed for Third Generation IC Integrated smartphones
• The Greater bandwidth networks such as 3G or Wi-Fi
• ID creation: During installation, take use rid as Eg. [Phone number]
• Password Creation:
In Android: reversed-version of the phone's IMEI, MD5 hashed.
In iOS: double MAC address, MD5 hashes it.

Downloading & Installing

One can simply download whatsapp by visiting
To verify whatsapp using your own mobile number First you need to have Application
installed in your mobile and needs to have minimum balance.
Follow the steps:
1. Install the application.
2. Launch the application.
3. Enter your mobile number and tap on “OK” button.
4. Verification process will be completed in 10-15 secs of 10 minutes total time.
5. Your mobile will get register with your own SIM(mobile) number.

P a g e 5 | 16
Suppose if the application was uninstalled, you can again install and register with the
previous number. The process will be same as the above.
To verify whatsapp by entering a invalid mobile number Whatsapp not only test the
mobile IMEI numbers but also test the valid or wrong numbers. Suppose if you have
entered a invalid/wrong number. For to test this, you need to have a mobile with SIM
inserted and whatsapp installed and with minimum balance.

Then the procedure will be as follows:

1. Launch the application.
2. Enter any number other than your mobile number and tap on "OK" button.
3. Verification process continues and after 10 minutes of total time.
4. Your mobile gets "connection failed,reverify" popup. This will happen because
whatsapp will work for one number and one device. If any one try to register with a
invalid/wrong number, a highly secured procedure is implemented.

P a g e 6 | 16
To verify Whatapp by interchanging the SIM cards
Here we are going to see how whatsapp works when two registered mobile numbers
(SIMS) are interchanged.
For this you need to have two mobiles registered with their own mobile numbers.

Now to verify the above scenario, follow the procedure:

But you need to connect to a WiFi/mobile data.
1. Switch OFF both the mobiles A & B.
2. Remove both the registered SIM cards from mobile A and B.
3. Insert the SIM card of mobile B in mobile A.
4. Insert the SIM card of mobile A in mobile B.
5. Turn ON mobile A.
6. Turn ON mobile B.
7. Send a message from any other mobile to mobile A removed SIM number.
8. Message will come to mobile A only, even though it is using mobile B SIM. By this
it is observed that whatsapp will work even though the SIM card is changed/removed.
But this scenario will work until we change the number in "change number" option
in settings or if we uninstall and reinstall the application.

P a g e 7 | 16
Message sending Technique in Whatsapp
When both clients are in online:
Store and Forward Technique

Definition - What does Store and Forward mean?

Store and forward is a data communication technique in which a message transmitted
from a source node is stored at an intermediary device before being forwarded to the
destination node.
The store and forward process enables remote hosts, data connectivity and transmission,
even if there is no direct connection between the source and destination nodes.

Techopedia explains Store and Forward

Store and forward is primarily implemented in telecommunication networks, where remote
subscribers lack direct or dedicated connections. The store and forward technique works
by storing the message transmitted by the source device on an intermediary device,
generally a server. The server then locates the destination device from it database of
subscribers, initiates a connection and transmits the data packet that was originally sent by
the source device.
Store and forward is implemented in scenarios where the subscribing devices are
geographically distant, lack direct connectivity and/or where the network is experiencing
high error rates.

P a g e 8 | 16
When one clients is in online :

 All messages are in queued on the server until the client reconnects to retrieve
 Messages are wiped from server memory as soon as the client has accepted the

P a g e 9 | 16
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 (Jabber ID: [phone number]
WhatsApp software automatically compares all the phone numbers from the device's
address book with its central database of WhatsApp users to automatically add contacts
to the user's WhatsApp contact list. Previously the Android and S40 versions used an
MD5-hashed, reversed-version of the phone's IMEI as password,[15] while the iOS
version used the phone's Wi-Fi MAC address instead of IMEI. A 2012 update now
generates a random password on the server side.
XMPP: Extensible Messaging and Presence Protocol (XMPP) is a communications
protocol for message-oriented middleware based on XML(Extensible Markup
Language).[1] The protocol was originally named Jabber,[2] and was developed by the
Jabber open-source community in 1999 for near real-time, instant messaging (IM),
presence information, and contact list maintenance. Designed to be extensible, the
protocol has also been used for publish subscribe systems, signaling for VoIP, video,
file transfer, gaming, Internet of Things applications such as the smart grid, and social
networking services. Unlike most instant messaging protocols, XMPP is defined in an
open standard and uses an open systems approach of development and application, by
which anyone may implement an XMPP service and interoperate with other
organizations' implementations. Because XMPP is an open protocol, implementations
can be developed using any software license; although many server, client, and library
implementations are distributed as free and open-source software, numerous freeware
and commercial software implementations also exist.

P a g e 10 | 16
 Open: It's free. There are multiple implementations for open source XMPP servers,
as many customers and development libraries.
 Free: you can see how it works, and the user has the freedom to implement himself
the freedom to suit their needs, without needing anyone's approval. WhatsApp Seminar
 Extensible: using the potential of XML, anyone can extend the XMPP protocol for
custom functionality.
 Decentralized: anyone can start their own XMPP server.
 Insurance: Safety Supports the transport layer and any XMPP server can be isolated
from the public XMPP. \

P a g e 11 | 16
Generally, XMPP is implemented and used as a client-server distributed architecture.

Figure: decentralized client-sever architecture

When we send an XMPP message to a contact, the XMPP client connects to our XMPP
server, and it connects directly to our contact XMPP server, without performing
multiple jumps.

P a g e 12 | 16
XML: XMPP is essentially a technology for transmitting XML. Once the connection
is established, we can exchange messages asynchronously with the server.
Types of XML tags to transmit different type of messages:
 Stream: Container unit is a sequence of messages XMPP.
 Message: Used to send messages between users.
 Presence: To report the presence of the user. This includes when they connect,
disconnect, change state or name.
 Qi: It is used for the transmission of internal commands. A new connection, report
bugs & things that have nothing to do with users.
 XEP: are the set of applications that extends the different labels that supports the
Secure Communication: The XMPP communications between clients and servers are
safely implemented mainly through two mechanisms: The TLS protocol applied to the
transport layer protocol and SASL layer applied to the Simple Authentication and
Security. The TLS protocol is a protocol for establishing a secure connection between
a client and a server or between two servers. TLS is able to authenticate on both sides
of the communication, and creates an encrypted connection between the two. If the
talks were not encrypted attack would be easy and could make it easily intercepted
conversations. Such attacks are very simple, with a network analysis tools & protocols
such as Wireshark & specific application called Whatsapp Xtract. XMPP SASL
provides a generalized method for authentication.

Instant Messaging: The messages are the most important part of any instant messenger
system. XMPP is a message oriented protocol, which can be of six different:

 Normal: they would like messages to the email.

 Chat: person who posts messages would be used in a conversation between two
 Group chat: messages sent to a group of people.
 WhatsApp Seminar Report
 Headline: that would be the marquee messages.
 Error: for error messages.
 Jabber:x:oob: for direct connections between clients for sending messages.

P a g e 13 | 16
MD5: The MD5 message-digest algorithm is a widely used cryptographic hash
function producing a 128-bit (16-byte) hash value, typically expressed in text format
as a 32 digit hexadecimal number. MD5 has been utilized in a wide variety of
cryptographic applications, and is also commonly used to verify data integrity. MD5
was designed by Ron Rivets in 1991 to replace an earlier hash function, MD4. The
source code in RFC 1321 contains a "by attribution" RSA license.

P a g e 14 | 16
• Application testing requires a detailed overview of the System requirements and
Functional requirements.
• Testing application and making it to sustain in harsh environment makes the
application more flexible and quality wise very rich.
• Based on products review up gradation is done this makes application to stay alive
and popular in market.
• Various robust testing makes the application capable to satisfy every requirements
and needs of the customer.
• WhatsApp on the other hand has been around for quite some time now and is being
used by most and offers functionality like text based messaging and files transfers. But
given enough time Line is a capable product and in the future it hold the potential to
overtake WhatsApp, unless some new innovations is adopted by the world leader in

We visited following websites:


P a g e 15 | 16
P a g e 16 | 16