Notes for Improvement
The Demo::JBook script is merely an example. On top of tightening up the error and exception handling, there are a few other things that you might want to consider doing to improve upon it:
- Jabber connectivity
As mentioned already, you’ll probably want to improve the connection efficiency to the Jabber server by holding a socket open and sharing this connection across multiple calls to the handler.
- Choice of JUD
The JUD to be queried is fixed; you may prefer to allow the user to select which JUD will be searched. What’s more, selection of more than one JUD would allow a powerful search across public Jabber user directories.
- Key handling
We’ve seen how a JUD is queried in Example 10-2. Some JUDs use the simple key-based security and pass an additional
<key/>tag containing random data—a sort of session key, as described in Section 6.2.11 and Section 6.2.13. Any<key/>tag received from the JUD in response to an IQ-get must be sent back verbatim to the JUD in the subsequent IQ-set. Otherwise the search will fail, and you’ll get a response similar to that shown in Example 10-7.- Visual impact
Last but not least, the visual impact of the end result as shown here (in Figure 10-3, Figure 10-4, and Figure 10-6) lacks a certain something. You might want to do something about that—give it a grander design, make it more pleasing, or at least interesting, to the eye. The HTML has been kept deliberately basic in this recipe, so as not to cloud the real theme of “Jabber ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access