rent-now

Rent More, Save More! Use code: ECRENTAL

5% off 1 book, 7% off 2 books, 10% off 3+ books

9780672325366

Jabber Developer's Handbook

by ;
  • ISBN13:

    9780672325366

  • ISBN10:

    0672325365

  • Edition: 1st
  • Format: Paperback
  • Copyright: 2003-07-08
  • Publisher: Sams Publishing
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $49.99

Summary

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 Handbookdemonstrates 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 Handbookshows 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.

Author Biography

Dana Moore is a senior scientist with BBN Technologies in Arlington, VA William Wright is a division engineer with BBN Technologies in Arlington, VA

Table of Contents

Introduction: Let's Jabberp. 1
Jabber Enables Peer-to-Peer Computingp. 1
Jabber Enables an Evolved System Architecturep. 2
Jabber In-Depthp. 5
What Is Jabber Technology?p. 7
Traditional Applications and How They Got That Wayp. 7
The Nature of Traditional Toolsp. 8
Shortcomings of Traditional Toolsp. 9
Jabber Is...p. 11
...Built-in Services...p. 11
Service Discoveryp. 13
Server and Client Interactionsp. 14
...Client-Based Services...p. 17
...Open...p. 19
...Asynchronous...p. 19
...Extensible...p. 20
...Decentralized...p. 21
...Secure...p. 22
...XML Protocol...p. 22
Riding on TCP/IPp. 22
Provides Real-time Exchange of Messagesp. 22
...And Presence Informationp. 23
...Between Two Endpoints on the Open Internetp. 23
...And a Corporate Intranetp. 24
A Useful Application to Jump-Start Your Interestp. 24
A Practical User Creation Script (Java version)p. 25
A Practical User Creation Script (Python version)p. 30
Jabber's Open Source Development Heritage (And Its Implications)p. 33
Conclusion (or Rather, The Beginning)p. 33
Installing and Configuring Jabber Softwarep. 35
Downloading the Server Softwarep. 35
Installing the Server Softwarep. 36
Linux and Unixp. 36
Windowsp. 39
Initial Server Configurationp. 40
Jabberd Command-line Argumentsp. 40
The jabber.xml Filep. 40
Starting jabberdp. 43
Service Configuration Detailsp. 44
Service XDBp. 44
Service iop. 46
Service c2sp. 48
Service s2sp. 49
Service dnsrvp. 51
Log Servicesp. 51
The Sessions Servicep. 53
Common Optional Servicesp. 61
Jabber User Directory (JUD)p. 61
Conferencingp. 63
Instant Messaging Clientsp. 66
Summaryp. 68
All About Jabber Clientsp. 69
What Is a Jabber Client?p. 70
Session Mechanicsp. 70
Protocol Mechanicsp. 70
Protocol Detailsp. 78
The [left angle bracket]stream:stream[right angle bracket] Tagp. 78
The [left angle bracket]iq[right angle bracket] Elementp. 78
Jabber Presencep. 84
Presence Attributesp. 87
The [left angle bracket]presence[right angle bracket] Elementp. 87
The [left angle bracket]message[right angle bracket] Elementp. 91
The [left angle bracket]body/[right angle bracket] Subelementp. 93
Additional [left angle bracket]message/[right angle bracket] Subelementsp. 95
Using [left angle bracket]message/[right angle bracket] to Convey Arbitrary Datap. 99
Summaryp. 122
Jabber Server Architecturep. 123
High-Level Architecturep. 123
Messages and Sessionsp. 125
Remote Messagingp. 127
Client Initializationp. 130
Browsable Agentsp. 142
Instant Messaging Gatewaysp. 148
Summaryp. 153
Extending the Jabber Serverp. 155
A Database Servicep. 156
Configuring the Servicep. 156
Code Listingp. 158
Connecting to the Serverp. 166
JDBC Survival Skillsp. 167
Browsingp. 169
Searchingp. 174
A Report Servicep. 179
Code Listingp. 180
Registrationp. 186
A Small Digression: A Custom Packet Type for JabberBeansp. 188
Custom Storage in XDBp. 193
Timed Report Generationp. 196
An Inventory Management Servicep. 198
Decomposing the Inventory Management Servicep. 208
Summaryp. 224
Jabber Securityp. 225
Client Registrationp. 226
Disabling Automatic Registrationp. 231
Registration Datap. 232
Client Authenticationp. 233
Plain Authenticationp. 236
Digest Authenticationp. 238
Zero-Knowledge Authenticationp. 242
A Custom Authentication Componentp. 245
Connecting the Authentication Servicep. 246
Handling Authorization Packetsp. 247
Using SSL for Client Connectionsp. 258
SSL Overviewp. 258
Enabling SSL in the Jabber Serverp. 260
Server-to-Server Connection Authentication (Dialback)p. 265
Summaryp. 268
Jabber-Based Networked Applicationsp. 271
What's in a Name: Web Servicesp. 273
First-Generation Applications: Servers and Glass Terminalsp. 273
Second-Generation Applications: Servers and Clientsp. 274
Third Generation Applications: Enter the Webp. 275
Fourth-Generation Applications: XML and Web Servicesp. 276
XML-RPCp. 278
SOAPp. 283
WSDLp. 284
UDDIp. 285
Jabber and XML-RPCp. 286
Jabber-Based RPCp. 287
Jabber RPC Invokerp. 287
Jabber RPC Service Provider (First Version)p. 289
Jabber RPC Service Provider (Second Version)p. 292
Jabber-RPC Object Lessonsp. 296
Summaryp. 296
Jabber and Conversational Software Agentsp. 299
Motivating This Applicationp. 300
Accomplishing the Objectivep. 300
What Is Alice?p. 300
Why Alice Appears to Workp. 301
Alice Design Principlesp. 301
The Alicebot Serverp. 302
AIML Folder--Alice's Built-in Knowledgep. 302
Lib Folder--Alice ProgramD's Java Libraryp. 303
Alice Configuration Filesp. 303
ALICE Static Knowledge (AIML) Filesp. 306
The Category Tagp. 306
The Pattern Tagp. 306
The Template Tagp. 306
The Topic Tagp. 306
Fitting the Pieces Togetherp. 316
The AliceJabber Mux Codep. 318
Running ALICE with Jabberp. 324
Summaryp. 325
Jabber and System Control and Administrationp. 327
Jabber for System Event Monitoringp. 327
Jabber for Version Managementp. 338
Jabber for Distributed Controlp. 341
Jabber for Application Monitoringp. 350
Summaryp. 363
Jabber and JXTAp. 365
JXTA Technology Introductionp. 365
Elements of JXTA Technologyp. 366
Identifiersp. 366
Advertisementsp. 366
Messagesp. 368
Peersp. 368
Peer Groupsp. 369
Pipesp. 369
Modules (Services)p. 369
Roles for JXTA Peersp. 370
Rendezvous Peersp. 370
Relay Peersp. 370
Proxy Peersp. 370
Trying Out JXTAp. 370
The JXTA Java Binding APIp. 375
Example: A Jabber-to-JXTA Bridgep. 376
Details of the talk Protocolp. 379
Summary: Jabber and JXTA as Complimentary Technologiesp. 397
Jabber Libraries for Popular Languagesp. 399
Jabber-Net--Jabber for the .NET Environmentp. 399
Building the Examplesp. 407
iksemel--Jabber for C/C++p. 408
JabberBeans--Jabber for Javap. 413
JabberPy--Jabber for Pythonp. 414
A Cross-Language Examplep. 414
Jabberlib--Jabber for TCLp. 418
Net::Jabber--Jabber for Perlp. 421
Jabber4R--Jabber for Rubyp. 424
Summaryp. 427
Appendixesp. 429
Glossaryp. 431
XML Basicsp. 435
A Simple Documentp. 435
Tag Attributesp. 436
Commentsp. 436
XML Namespacesp. 437
XML Streamsp. 438
Resourcesp. 439
Jabber Serversp. 439
Jabber Protocolp. 439
Jabber Clientsp. 439
Jabber Librariesp. 440
Macromedia Flashp. 440
JabberBeansp. 440
Alicebotsp. 440
JabberPyp. 440
Miscellanyp. 441
Indexp. 443
Table of Contents provided by Ingram. All Rights Reserved.

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program