Abstract

XMPP (eXtensible Message and Presence Protocol) is a well structured and constantly evolving protocol that is being used for communication between a client and a server and from the server to one or a group of clients simultaneously. This protocol is being used in typical social networking applications such as Facebook, Google+, Google Hangouts, Twitter, etc. The client to server communication involves constructing long XML body for sending messages. Then the server adds more details in XML body and sends it to the appropriate client or a group of clients. At the receiving side parsing of XML body is more complex. At the client side, constructing the large XML body, which follows the protocol standards, is very difficult for a developer and blows up the development time. The developer not only has to know the protocol inside out but also has to write code that handles various cases. This calls for a simplified implementation of XMPP. The solution to this problem is to propose the design of an abstraction layer, which creates an object with which the developer interacts. The Object in turn handles the construction and parsing of the XML body. This object should also handle various connection issues gracefully and should be able to send the various presence stanzas, which the protocol requires. For using this object the developer imports the library and invokes the object and need not know any intricate details of the protocol. This idea of creating an object, which abstracts the XMP Protocol, is inspired by the MySQL JDBC (Java Database Connector), which is currently being used to connect to MySQL server. The proposed Abstraction Layer was developed using CoffeeScript and it was benchmarked using Chrome Developer Tools CPU Profiler.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.