| With the advancement of science and technology, people wish thatbesides traditional communication means, they can use Internet to shorten thetime limit of their communication and make the interpersonal collaborationand interaction much more fluent. The emergence of Instant Messaging(IM)has thoroughly changed the traditional communication manners. Using IM,people can conveniently maintain their contact list and send information toonline contacts at any time. The way of information delivery includesreal-time chatting, transferring files, playing multimedia files or streamingmedia, real-time audio or video chatting etc. Thereby, Instant Messagingrapidly becomes one of the most important Internet applications. It canchange people's life style, as well as improve the communication andworking efficiency obviously. However, most of the existing IM services arebased on proprietary protocols and techniques, so there are many differencesin their function interface and data format description. As a result, differentIM applications can't interoperate with each other. XMPP(eXtensibleMessage and Presence Protocol) brings hope to break this monopolizationsituation in the market. Because of its emergence, different organizations orpersons can conveniently communicate with users who are using other IMservices.XML language is adopted to define and describe the command and datain the XMPP protocols. With the high universality and extensibility of XML,the protocol can be easily extended in function and interconnect with otherapplications. Because XML can traverse the firewall easily, applications andIM services based on XMPP can get rid of the restrictions from the firewall.As a universal transport layer for XML structural data, XMPP embeds thepresence and context-sensitive information in the XML structural data, so thedata can be efficiently transmitted to the most appropriate resource. Currently,the IETF organization has established XMPP protocols as RFC standards. Many IM softwares are designed and implemented depending on XMPPprotocols. These applications have great interoperability, such as GoogleCompany's Google Talk, JiveMessenger, and Psi.To do research, this paper first introduces the origin, actuality and futureof IM technology, and analyzes three mainstream IM protocols; namely,IMPP, SIMPLE, and XMPP. Then it introduces the central content andworking mechanism of the XMPP protocol in depth, including its history,technical architecture, data structure, advantage and prospect. Based on thesetechniques, an IM system is built, which implements some IM functions,including user login, sending messages, managing contact list and filetransfer etc. Notably, XMPP can be applied not only in traditional IM field. Itcan be expanded in function via many ways, such as extending upon thefundamental IM platform, integrating with other applications, interoperatingamong cross-platform clients, as well as extending the services of the serverby plug-ins or gateways. The extensible architecture and XML-basedmessage-routing mechanism enable XMPP to integrate with otherapplications very conveniently, which can meet the increasingly high demandon IM, as well as provide more diverse services for the user. The applicationintegrations based on XMPP are emphasized in this paper.1. Multimedia Applications IntegrationWith the development of the IM technology, people expect the meansand content of communication to be more various and colorful rather thansatisfying with the real-time text message transmission. It may include filetransfer, sharing data and files in real-time manner; or adding multimediaways such as audio and video to the traditional IM functions, integrating thedifferent ways seamlessly. In this situation, many IM function extensionscome into being. JSF, an organization managing XMPP, brings forward andestablishes plenty of XEPs which can implement more advanced IMfunctions, making IM applications more mature and stable.XEP-0166 Jingle protocol defines the signalling semantics for initiatingand managing multimedia sessions between XMPP entities. Jingle is designed in a modular way so that developers can easily add support formultimedia session types other than voice chat, such as video chat,application sharing, file sharing, collaborative editing, whiteboarding, andtorrent broadcasting. The transport methods are also modular, so that Jingleimplementations can use any appropriate media transport. The purpose ofJingle is to enable one-to-one, peer-to-peer media sessions between XMPPentities, where the negotiation occurs over the XMPP "channel" and themedia is exchanged outside the XMPP channel using technologies such as theReal-time Transport Protocol, the User Datagram Protocol, and InteractiveConnectivity Establishment .Voice chat function is developed based on Jingle protocol, whichrealizes Multimedia Applications integration upon IM platform. Besides,XMPP can implement multi-user conference and video chat etc.2. Integration with LuceneXMPP messages all contain the destination address information. Theserver can use this information to route the messages to the most appropriateresource accurately. Based on this message-routing mechanism, XMPP caneasily integrate with other applications.Lucene is a Java code library for full-text indexing engine. It can beeasily embedded into different applications, implementing full-text indexingand searching functions. Lucene is introduced to design and realize a searchtool called Searchbot which can carry out two functions: searching contactsand querying the telecode of a given city. Searchbot has an XMPP identifier(JID). It keeps online when it logs in the server. Other XMPP entities send anXMPP message to Searchbot, submitting the query keyword. After searchingthe index, Searchbot returns the result to the user. Using thisXMPP-integration approach can greatly reduce the concurrent read-writetimes to the index, and effectively alleviate the burden of the index server.3. Integration withWeb ServiceThe basic function of Web Service is enabling application systems tointerconnect with each other and share services. It has great advantage in communication traversing firewalls, application integration, B2B integration,software and data reuse. Unfortunately, Web Service is complicated becauseit involves various techniques, such as URI, UDDI, XML, WSDL, SOAP,HTTP, and SSL. To call a Web Service, you have to use the SOAP clientssuch as MicrosoftSOAPToolkit or .NET directly, or develop your own SOAPclient and connect it with the application. Both approaches will definitelyincrease the difficulty in developing the application. Consequently,integrating Web Service using XMPP messages is proposed. Weatherbot is aSOAP client developed by Microsoft's XMLHttpRequest plug-in. It canquery the real time weather conditions. Other users interact with Weatherbotvia XMPP messages, and Weatherbot is responsible for calling Web Serviceand returning the result. This approach enables the user to enjoy theconvenience brought by Web Service without implementing Web Servicerelated techniques. It can simplify the development of the client; meanwhile,provide diverse services for the user.Based on the above XMPP message-routing mechanism, we canintegrate many other applications; for example, database service, onlinetranslation, real-time stock quote, and smart device control, which canextremely facilitate the users'work and life.4. Integration with Mobile CommunicationsXMPP can not only be extended upon IM platform and easily integratewith other applications, but also realize the interoperation amongcross-platform clients, which enables IM anytime and anywhere, greatlyimproving the users'working and communication efficiency. J2ME platformis chosen to develop an XMPP client running in the mobile telephones,successfully implementing the integration between XMPP and MobileCommunications. Users can access their contact lists anytime and exchangereal-time information with online contacts using their handsets. In addition,this kind of interoperation can also be extended to web platform, PDA, smartcontrol devices etc.Through the research and realization of this paper, we can conclude that XMPP can play an important role upon the IM platform, providing more andmore abundant IM functions; meanwhile, it can easily integrate with differentapplications, further improving the users'working and communicationefficiency. The XML-based streaming transmission and message-routingmechanism also bring it a bright future in enterprise application fields such asCSCW, ERP, CRM, and OA. |