Question

In: Computer Science

(terza/seconda) Question: Discuss the architecture of the application WA( the chat application with green icon and...

(terza/seconda) Question: Discuss the architecture of the application WA( the chat application with green icon and a phone) (incorrectly written) in terms of its protocols. Address and discuss all the essential protocols used by WA( the chat application with green icon and a phone) (incorrectly written) for communication.

PLEASE write your answer in your own words!! cheers

Solutions

Expert Solution

For a well defeined chat application architecture, let us look at the details. A chat consists of two major parts:

  • Chat App or client portion, which is a desktop, web, or smartphone chat application.
  • Chat Server Engine, which is a pool of external servers responsible for the chat operation. This is the place where all the chat protocols come into play.

Both parts contain various components that communicate to each other-

Chat Server Engine is a core of the chat architecture that handles message delivery and dispatch. In our version of chat architecture, it includes the following components:

  • Chat REST API handles the tasks that are not connected directly to message dispatch and delivery, such as user authentication, changing of user settings, friends invitation, downloading sticker packs, etc. The Chat App (the chat client part) communicates with the Chat REST API via the Chat REST API Client Library.
  • Chat WebSocket Server is responsible for transmitting messages between users. The Chat App communicates with the Chat WebSocket Server via the Chat WebSocket Client Library. This connection is open two ways; that means users don’t have to make requests to the server if there are any messages for them, they just get them right away.
  • Chat Media Storage Server is a pool of servers responsible for storing user media files. The files are uploaded to them via the Chat Media Storage Client Library.

Chat App is the other major part of the chat architecture, the one that users directly interact with. It's split into three separate root components:

  • Chat Client Engine handles all of the communication with the Chat Server Engine via its internal components: Chat REST API Client Library, Chat WebSocket Client Library and Chat Media Storage Client Library. It also comprises the Chat Push Message Handler that deals with push notifications.
  • Chat UI displays data to users via its widgets: Chat Contact List UI, Chat Dialog UI, Chat Push Message Widget—extension for mobile apps that allow for replying to messages without opening the app and Chat Internal Notification Widget—a widget that pops up at the top of the screen while the user is chatting in a dialog and notifies about the incoming message in another dialog.
  • Chat Device Storage is an internal database (read: your device storage), which stores messages and files so that users can access them offline. Its internal component, Chat Media Cache, gets media files from the Chat Media Storage and stores them on the device so that the user can access them anytime without having to reach the Chat Media Storage every time.

WA underlying architecture is LYME/LYCE, except for the Linux part. WA started from Ejabberd, an open source Jabber/XMPP instant messaging server written in Erlang. It used XMPP (eXtensible Messaging and Presence Protocol). That’s a protocol that handles a message delivery system.

Ejabberd server is based on a set of pluggable modules that enable features like:

  • One-on-one messaging
  • Store and forward (offline messages)
  • Contact List and presence
  • Group chat – Multi-User Chat (MUC)
  • Message archive Management (MAM)
  • Personal event protocol (PEP) and typing indicator
  • Privacy settings, simple blocking extensions


Related Solutions

(terza/prima) Question: You are required to design a VoIP application. Discuss the requirements for such an...
(terza/prima) Question: You are required to design a VoIP application. Discuss the requirements for such an application in terms of its protocols and performance requirements. What types of protocols you would need to design a complete VoIP application (Hint: real time streaming protocols and signaling protocols, etc.)? PLEASE write the answer in your own words! cheers
(seconda/seconda) Question: Discuss both (i) Network Reliability, and (ii) Resilience challenges that the Internet faces as...
(seconda/seconda) Question: Discuss both (i) Network Reliability, and (ii) Resilience challenges that the Internet faces as a socio-technical system.
Discuss bootstrap processor and application processor in the context of shared memory architecture.
Discuss bootstrap processor and application processor in the context of shared memory architecture.
Discuss the relevancy and application of linear programming to business. This question was posted before but...
Discuss the relevancy and application of linear programming to business. This question was posted before but the answer was hand written and not legible to read, if the answer is hand written can it please be legible. I need to type 2 page on this subject.
Question 01: Discuss the nature of hypnosis, individual variations in hypnosis, and application of hypnosis. ....
Question 01: Discuss the nature of hypnosis, individual variations in hypnosis, and application of hypnosis. . Question 02: Discuss how anger and depression are different from each other.
1. Corporate Cash Flows Question: a) Describe the cash determination principle, and discuss the application of...
1. Corporate Cash Flows Question: a) Describe the cash determination principle, and discuss the application of two popular parameters (expected level and variance) of cash flows. [8 Marks] b) Describe the Discounted Cash Flows (DCF) model and the associated Consistency Principle. 2. Corporate Governance Question: a) Describe the general function played by the board of directors in a corporation and its relationships to the general shareholders and management (including their common interests and interest conflicts). [5 Marks] b) Describe the...
Question: Discuess Application of Differential Calculus in Electrical Engineering Discuss how differential calculus is applied in...
Question: Discuess Application of Differential Calculus in Electrical Engineering Discuss how differential calculus is applied in solving different problems in Electeical engineering. the things to remember: #. The number of pages of the assignment is 3-4pages. It must consist of the following sections: a. Application of Differential and Integral Calculus in (fields of study) b. Applied problem with solution. State the method or theory used to solve the problem. and atlast add conclusion. c. Attach pictures and equations.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT