The Internet is evolving into an infrastructure where applications can converse with one another in a much different way than the traditional page-serving architectures of the first generation Web.
Through examples and clear explanations, Jabber Developer¿s Handbook demonstrates how Jabber, currently the world¿s most important open source messaging protocol, can be used to go beyond interactive chat and file sharing to build flexible, reliable, and powerful distributed software systems. Peer-to-peer applications using the Jabber open source toolkit, and leverage its use with other readily available and open source software and middleware. It explains how to use Jabber peer-to-peer technologies to solve troublesome reliability and interoperability issues with distributed systems. While peer-to-peer computing and Jabber are considered fairly new technologies, the authors have extensive hands-on experience in applying a variety of system messaging technologies.
Jabber Developer¿s Handbook shows how to design, build, and integrate peer-to-peer applications using the Jabber open source toolkit, and leverage its use with other readily available and open source software and middleware. It explains how to use Jabber peer-to-peer technologies to solve troublesome reliability and interoperability issues with distributed systems. While peer-to-peer computing and Jabber are considered fairly new technologies, the authors have extensive hands-on experience in applying a variety of system messaging technologies.
Introduction: Lets Jabber.
Jabber Enables Peer-to-Peer Computing. Jabber Enables an Evolved System Architecture.
I. JABBER IN-DEPTH.1. What Is Jabber Technology?
Traditional Applications and How They Got That Way. The Nature of Traditional Tools. Shortcomings of Traditional Tools. Jabber Is…. A Useful Application to Jump-Start Your Interest. Conclusion (or Rather, The Beginning).2. Installing and Configuring Jabber Software.
Downloading the Server Software. Installing the Server Software. Initial Server Configuration. Service Configuration Details. Common Optional Services. Instant Messaging Clients. Summary.3. All About Jabber Clients.
What Is a Jabber Client? Session Mechanics. Protocol Mechanics. Protocol Details. The <iq> Element. Summary.4. Jabber Server Architecture.
High-Level Architecture. Messages and Sessions. Browsable Agents. Instant Messaging Gateways. Summary.5. Extending the Jabber Server.
A Database Service. A Report Service. An Inventory Management Service. Decomposing the Inventory Management Service. Summary.6. Jabber Security.
Client Registration. Client Authentication. A Custom Authentication Component. Using SSL for Client Connections. Server-to-Server Connection Authentication (Dialback). Summary.
II. JABBER-BASED NETWORKED APPLICATIONS.7. Whats in a Name: Web Services.
First-Generation Applications: Servers and Glass Terminals. Second-Generation Applications: Servers and Clients. Third Generation Applications: Enter the Web. Fourth-Generation Applications: XML and Web Services. Jabber and XML-RPC. Jabber-Based RPC. Jabber-RPC Object Lessons. Summary.8. Jabber and Conversational Software Agents.
Motivating This Application. Accomplishing the Objective. What Is Alice? Why Alice Appears to Work. Alice Design Principles. The Alicebot Server. ALICE Static Knowledge (AIML) Files. Fitting the Pieces Together. The AliceJabber Mux Code. Running ALICE with Jabber. Summary.9. Jabber and System Control and Administration.
Jabber for System Event Monitoring. Jabber for Version Management. Jabber for Distributed Control. Jabber for Application Monitoring. Summary.10. Jabber and JXTA.
JXTA Technology Introduction. Elements of JXTA Technology. Roles for JXTA Peers. Trying Out JXTA. The JXTA Java Binding API. Example: A Jabber-to-JXTA Bridge. Summary: Jabber and JXTA as Complimentary Technologies.11. Jabber Libraries for Popular Languages.
Jabber-Net—Jabber for the .NET Environment. iksemel—Jabber for C/C++. JabberBeans—Jabber for Java. JabberPy—Jabber for Python. A Cross-Language Example. Summary.
III. APPENDIXES.Appendix A. Glossary.
A Simple Document. Tag Attributes. Comments. XML Namespaces. XML Streams.Appendix C. Resources.
Jabber Servers. Jabber Protocol. Jabber Clients. Jabber Libraries. Miscellany.Index.