XMPP servers are capable of more than sending messages between clients and servers or server components. When you are building a real-world XMPP-based application, you will need to ensure that your application has adequate security and that your application can scale to support growing needs. You may need to ensure that the server side of your application works in an ecosystem with other services.
In Chapter 1, An Introduction to XMPP and Installing Our First Server we introduced the use of Prosody as our XMPP server. In this chapter, we will continue to use Prosody to explore these features. Other servers (for example, Openfire, Tigase, MongooseIM, and ejabberd) also support these features. If you need to know which servers provide which features, Wikipedia has such a page: https://en.wikipedia.org/wiki/Comparison_of_XMPP_server_software. Often, you can find a list of extensions that each server supports; for example, the protocols that...