Iain Shigeoka9781930110465, 1-930110-46-4
Table of contents :
The Jabber Protocols……Page 3
contents……Page 7
preface……Page 13
Who should read this book……Page 15
Part 1—Overview……Page 16
Part 2—Building Jabber……Page 17
Conventions……Page 18
Tools: a Java development environment……Page 19
Building the source in this book……Page 20
author online……Page 21
acknowledgments……Page 22
about the cover illustration……Page 23
Instant messaging primer……Page 25
Introduction to IM concepts……Page 27
1.1 Background on messaging……Page 28
1.1.1 A brief history of Jabber……Page 35
1.1.2 Goals of the Jabber project……Page 36
1.2 What is Jabber?……Page 37
1.2.1 Jabber’s XML-based data formats……Page 38
1.2.2 Jabber’s simple architecture……Page 42
1.2.3 Jabber’s four core concepts……Page 45
1.3 Benefits of the Jabber protocols……Page 51
1.4 Drawbacks of the Jabber protocols……Page 52
1.5 Conclusion……Page 53
Jabber technical fundamentals……Page 55
2.1 The Jabber messaging model……Page 56
2.1.1 Benefits……Page 59
2.1.2 Drawbacks……Page 60
2.1.3 Relying on distributed servers……Page 62
2.1.4 How Jabber packet routing works……Page 63
2.1.5 Step-by-step: a message’s path through Jabber……Page 68
2.2.3 Info/Query: handling everything else……Page 69
2.3 Jabber session example……Page 71
2.4 Conclusions……Page 80
Protocols, code, and advanced IM……Page 81
IM concepts and Jabber protocols……Page 83
3.1.1 Goals for our server……Page 84
3.1.2 Our server software……Page 85
3.1.3 The basic server design……Page 86
3.2 The session pool maintains client connections……Page 87
3.2.1 The Session class represents a connection……Page 88
3.2.3 The SessionIndex class provides session lookup……Page 90
3.3.1 Representing Jabber packets……Page 93
3.3.2 The PacketQueue class as server focal point……Page 101
3.3.5 SAX parsing in Java……Page 104
3.4 Packet handling and server threads……Page 111
3.4.1 Packet handling in QueueThread……Page 114
3.4.2 Parsing XML in the ProcessThread……Page 119
3.4.3 The main application Server class……Page 121
3.5 Testing the server……Page 122
3.6 Conclusion……Page 124
The Jabber message protocols……Page 125
4.1 Messaging is the heart of IM……Page 126
4.2 The message protocol……Page 127
4.2.1 Normal messages……Page 128
4.2.2 Chat messages……Page 129
4.2.3 Groupchat messages……Page 130
4.2.4 Headline messages……Page 132
4.2.5 Error messages……Page 133
4.2.2 Out-of-band messages……Page 134
4.2.3 Reality check: one message, many user interfaces……Page 136
4.3 Java Jabber client……Page 137
4.3.1 Goals……Page 138
4.3.2 The client design……Page 139
4.3.3 The client model……Page 140
4.3.4 Using the client model……Page 147
4.3.8 Results……Page 155
4.4 Conclusions……Page 156
The presence protocols……Page 157
5.2 The presence protocol……Page 158
5.3.1 Groupchat protocols……Page 162
5.3.2 Server modifications……Page 168
5.3.3 Client modifications……Page 181
5.4 Shortcomings of our server and basic groupchat……Page 185
5.5 Conclusions……Page 186
Info/Query and client registration……Page 187
6.1 Info/Query: the catch-all protocol……Page 188
6.1.1 The IQ protocol……Page 189
6.1.2 IQ extensions……Page 191
6.2 Registration creates and manages accounts……Page 193
6.2.1 User accounts……Page 194
6.2.2 The register protocol……Page 195
6.3.1 Adding user accounts……Page 199
6.3.7 Adding registration support……Page 207
6.4 Conclusions……Page 210
Client authentication……Page 213
7.1 Authentication controls account access……Page 214
7.1.1 The authentication protocol……Page 215
7.2 The Jabber server modifications……Page 223
7.3 The Jabber client modifications……Page 229
7.3.1 Modifying the JabberModel……Page 230
7.3.9 The client IQ packet handlers……Page 235
7.4 Conclusions……Page 239
Roster and user presence……Page 241
8.1 Roster protocol: presence’s missing piece……Page 242
8.1.1 The roster protocol……Page 245
8.2.1 Representing user presence……Page 248
8.2.2 Adding a roster subsystem……Page 250
8.2.6 The roster packet handlers……Page 257
8.3.1 Adding minimal roster support……Page 260
8.3.7 Testing the server……Page 262
8.4 Conclusions……Page 265
Creating a complete Jabber system……Page 267
9.1 Creating Jabber-compliant implementations……Page 268
9.1.2 Enforcing standards: Jabber Powered applications……Page 269
9.1.3 Organizing standards: Jabber environments……Page 270
9.1.4 Today’s options for achieving server compliance……Page 271
9.2.1 Server-to-server communications: federating Jabber domains……Page 272
9.2.2 Dialback authentication: S2S security……Page 274
9.2.3 Transports: integrating with other IM systems……Page 281
9.2.4 Deployment of Jabber servers and components……Page 284
9.2.5 Server security: creating protected Jabber services……Page 286
9.2.6 Jabber server management……Page 288
9.2.7 Adding reliability and availability……Page 289
9.3.1 User agent clients……Page 290
9.3.3 Chatbots: creating IM services……Page 292
9.4 Conclusions……Page 294
Enterprise Jabber……Page 295
10.1.1 Enhancing Jabber security……Page 297
10.1.2 Guaranteed quality of service……Page 302
10.1.3 Creating system administration tools an techniques……Page 303
10.2 The promise of MOM……Page 304
10.2.1 Jabber as middleware……Page 305
10.2.2 Jabber and the J2EE Java Messaging Service……Page 306
10.2.3 Jabber, .NET, and SOAP……Page 314
10.3.1 Jabber groupware……Page 316
10.3.3 Applications enhanced by Jabber……Page 317
10.4.1 RPCs: oldies but goodies……Page 320
10.4.2 P2P systems: the new challenger……Page 322
10.4.3 Hybrid systems: a better compromise……Page 323
10.5 Conclusions……Page 324
Jabber reference……Page 325
Core standards……Page 326
Jabber Identifier Standard……Page 329
Jabber Addressing and Implicit Address Standard……Page 330
Stream Protocol……Page 332
Error Packet……Page 333
Message Protocol……Page 335
Groupchat Jabber ID……Page 337
Presence Protocol……Page 339
Info/Query (IQ) Protocol……Page 341
Temporary vCard Protocol……Page 342
XHTML-Basic Packet……Page 343
Server-to-Server Dialback Protocol……Page 345
Agent Protocol……Page 348
Agents Protocol……Page 350
Authentication Protocol……Page 352
Autoupdate Protocol……Page 355
Out-of-Band File Transfer Protocol……Page 357
Registration Protocol……Page 358
Roster Protocol……Page 360
Search Protocol……Page 362
Time Protocol……Page 364
Version Protocol……Page 365
Browsing Protocol [PROPOSED STANDARD]……Page 366
Conferencing Protocol……Page 369
Gateway Standard……Page 372
Last Time Protocol……Page 374
Proxy Accept Socket Service [PROPOSED STANDARD]……Page 375
Private Storage Protocol [PROPOSED STANDARD]……Page 377
XML-RPC Protocol……Page 379
Autoupdate Packet……Page 380
Delay Packet……Page 381
Out of Band Packet……Page 382
Roster Packet……Page 383
Conference Packet……Page 384
Envelope Packet……Page 385
Event Protocol……Page 386
Expire Packet……Page 388
Signed Packet……Page 389
Encrypted Packet……Page 390
SXPM Whiteboarding Protocol [PROPOSED STANDARD]……Page 391
Bibliography……Page 393
Messaging Products……Page 394
Miscellaneous……Page 395
deliverToGroup()154……Page 397
goals12……Page 398
Miller, Jeremie11……Page 399
remove223……Page 400
transport23, 257……Page 401
zero-knowledge authentication. See authentication, zero-knowledge……Page 402
Reviews
There are no reviews yet.