nstant Messaging has exploded into the online world and is a wildly popular service of the largest Internet Service Providers (ISP) like AOL with AOL Instant Messenger, MSN with Microsoft Messenger, and Yahoo with Yahoo Messenger. Millions of Internet users everyday exchange IM?s and its use beyond
Instant Messaging in Java: The Jabber Protocols
β Scribed by Iain Shigeoka
- Publisher
- Manning Publications
- Year
- 2002
- Tongue
- English
- Leaves
- 403
- Edition
- illustrated edition
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
I have read some of this book and I don't like it that much. I personally feel the author spends too much time with things that are pretty easy to compress. Looking backwards I think the Jabber documentation is enough to write an IM client. I wrote one for alarming purposes. This is the first edition and the book has plenty of errors in the text. ( The code samples seem to be O.K.). Obviously the author was so busy pushing out his book that he didn't let anyone proofread it.
I would recommend to buy another book ( there are plenty ) or rely on the Jabber documentation and the plenty of samples the web has to offer.
β¦ Table of Contents
The Jabber Protocols......Page 4
contents......Page 8
preface......Page 14
Who should read this book......Page 16
Part 1βOverview......Page 17
Part 2βBuilding Jabber......Page 18
Conventions......Page 19
Tools: a Java development environment......Page 20
Building the source in this book......Page 21
author online......Page 22
acknowledgments......Page 23
about the cover illustration......Page 24
Instant messaging primer......Page 26
Introduction to IM concepts......Page 28
1.1 Background on messaging......Page 29
1.1.1 A brief history of Jabber......Page 36
1.1.2 Goals of the Jabber project......Page 37
1.2 What is Jabber?......Page 38
1.2.1 Jabberβs XML-based data formats......Page 39
1.2.2 Jabberβs simple architecture......Page 43
1.2.3 Jabberβs four core concepts......Page 46
1.3 Benefits of the Jabber protocols......Page 52
1.4 Drawbacks of the Jabber protocols......Page 53
1.5 Conclusion......Page 54
Jabber technical fundamentals......Page 56
2.1 The Jabber messaging model......Page 57
2.1.1 Benefits......Page 60
2.1.2 Drawbacks......Page 61
2.1.3 Relying on distributed servers......Page 63
2.1.4 How Jabber packet routing works......Page 64
2.1.5 Step-by-step: a messageβs path through Jabber......Page 69
2.2.3 Info/Query: handling everything else......Page 70
2.3 Jabber session example......Page 72
2.4 Conclusions......Page 81
Protocols, code, and advanced IM......Page 82
IM concepts and Jabber protocols......Page 84
3.1.1 Goals for our server......Page 85
3.1.2 Our server software......Page 86
3.1.3 The basic server design......Page 87
3.2 The session pool maintains client connections......Page 88
3.2.1 The Session class represents a connection......Page 89
3.2.3 The SessionIndex class provides session lookup......Page 91
3.3.1 Representing Jabber packets......Page 94
3.3.2 The PacketQueue class as server focal point......Page 102
3.3.5 SAX parsing in Java......Page 105
3.4 Packet handling and server threads......Page 112
3.4.1 Packet handling in QueueThread......Page 115
3.4.2 Parsing XML in the ProcessThread......Page 120
3.4.3 The main application Server class......Page 122
3.5 Testing the server......Page 123
3.6 Conclusion......Page 125
The Jabber message protocols......Page 126
4.1 Messaging is the heart of IM......Page 127
4.2 The message protocol......Page 128
4.2.1 Normal messages......Page 129
4.2.2 Chat messages......Page 130
4.2.3 Groupchat messages......Page 131
4.2.4 Headline messages......Page 133
4.2.5 Error messages......Page 134
4.2.2 Out-of-band messages......Page 135
4.2.3 Reality check: one message, many user interfaces......Page 137
4.3 Java Jabber client......Page 138
4.3.1 Goals......Page 139
4.3.2 The client design......Page 140
4.3.3 The client model......Page 141
4.3.4 Using the client model......Page 148
4.3.8 Results......Page 156
4.4 Conclusions......Page 157
The presence protocols......Page 158
5.2 The presence protocol......Page 159
5.3.1 Groupchat protocols......Page 163
5.3.2 Server modifications......Page 169
5.3.3 Client modifications......Page 182
5.4 Shortcomings of our server and basic groupchat......Page 186
5.5 Conclusions......Page 187
Info/Query and client registration......Page 188
6.1 Info/Query: the catch-all protocol......Page 189
6.1.1 The IQ protocol......Page 190
6.1.2 IQ extensions......Page 192
6.2 Registration creates and manages accounts......Page 194
6.2.1 User accounts......Page 195
6.2.2 The register protocol......Page 196
6.3.1 Adding user accounts......Page 200
6.3.7 Adding registration support......Page 208
6.4 Conclusions......Page 211
Client authentication......Page 214
7.1 Authentication controls account access......Page 215
7.1.1 The authentication protocol......Page 216
7.2 The Jabber server modifications......Page 224
7.3 The Jabber client modifications......Page 230
7.3.1 Modifying the JabberModel......Page 231
7.3.9 The client IQ packet handlers......Page 236
7.4 Conclusions......Page 240
Roster and user presence......Page 242
8.1 Roster protocol: presenceβs missing piece......Page 243
8.1.1 The roster protocol......Page 246
8.2.1 Representing user presence......Page 249
8.2.2 Adding a roster subsystem......Page 251
8.2.6 The roster packet handlers......Page 258
8.3.1 Adding minimal roster support......Page 261
8.3.7 Testing the server......Page 263
8.4 Conclusions......Page 266
Creating a complete Jabber system......Page 268
9.1 Creating Jabber-compliant implementations......Page 269
9.1.2 Enforcing standards: Jabber Powered applications......Page 270
9.1.3 Organizing standards: Jabber environments......Page 271
9.1.4 Todayβs options for achieving server compliance......Page 272
9.2.1 Server-to-server communications: federating Jabber domains......Page 273
9.2.2 Dialback authentication: S2S security......Page 275
9.2.3 Transports: integrating with other IM systems......Page 282
9.2.4 Deployment of Jabber servers and components......Page 285
9.2.5 Server security: creating protected Jabber services......Page 287
9.2.6 Jabber server management......Page 289
9.2.7 Adding reliability and availability......Page 290
9.3.1 User agent clients......Page 291
9.3.3 Chatbots: creating IM services......Page 293
9.4 Conclusions......Page 295
Enterprise Jabber......Page 296
10.1.1 Enhancing Jabber security......Page 298
10.1.2 Guaranteed quality of service......Page 303
10.1.3 Creating system administration tools an techniques......Page 304
10.2 The promise of MOM......Page 305
10.2.1 Jabber as middleware......Page 306
10.2.2 Jabber and the J2EE Java Messaging Service......Page 307
10.2.3 Jabber, .NET, and SOAP......Page 315
10.3.1 Jabber groupware......Page 317
10.3.3 Applications enhanced by Jabber......Page 318
10.4.1 RPCs: oldies but goodies......Page 321
10.4.2 P2P systems: the new challenger......Page 323
10.4.3 Hybrid systems: a better compromise......Page 324
10.5 Conclusions......Page 325
Jabber reference......Page 326
Core standards......Page 327
Jabber Identifier Standard......Page 330
Jabber Addressing and Implicit Address Standard......Page 331
Stream Protocol......Page 333
Error Packet......Page 334
Message Protocol......Page 336
Groupchat Jabber ID......Page 338
Presence Protocol......Page 340
Info/Query (IQ) Protocol......Page 342
Temporary vCard Protocol......Page 343
XHTML-Basic Packet......Page 344
Server-to-Server Dialback Protocol......Page 346
Agent Protocol......Page 349
Agents Protocol......Page 351
Authentication Protocol......Page 353
Autoupdate Protocol......Page 356
Out-of-Band File Transfer Protocol......Page 358
Registration Protocol......Page 359
Roster Protocol......Page 361
Search Protocol......Page 363
Time Protocol......Page 365
Version Protocol......Page 366
Browsing Protocol [PROPOSED STANDARD]......Page 367
Conferencing Protocol......Page 370
Gateway Standard......Page 373
Last Time Protocol......Page 375
Proxy Accept Socket Service [PROPOSED STANDARD]......Page 376
Private Storage Protocol [PROPOSED STANDARD]......Page 378
XML-RPC Protocol......Page 380
Autoupdate Packet......Page 381
Delay Packet......Page 382
Out of Band Packet......Page 383
Roster Packet......Page 384
Conference Packet......Page 385
Envelope Packet......Page 386
Event Protocol......Page 387
Expire Packet......Page 389
Signed Packet......Page 390
Encrypted Packet......Page 391
SXPM Whiteboarding Protocol [PROPOSED STANDARD]......Page 392
Bibliography......Page 394
Messaging Products......Page 395
Miscellaneous......Page 396
deliverToGroup()154......Page 398
goals12......Page 399
Miller, Jeremie11......Page 400
remove223......Page 401
transport23, 257......Page 402
zero-knowledge authentication. See authentication, zero-knowledge......Page 403
π SIMILAR VOLUMES
1 volume (unpaged) : 20 cm
Shelving Code Computers/Networking/Security Audience:Security Professionals Systems and Network AdministratorsIM SecurityJohn W. Rittinghouse and James F. Ransome"Instant Messaging Security is a timely and thorough examination of the security risks inherent in IM. As IM use continues to explode, it
* Complete instant messaging applications with design specifications, flow diagrams and source code with line-by-line explanation. * Includes 2 different Jabber-compliant IM solutions - Java based and .NET based with C#. * Each solution makes heavy use of web services. * The IM client is ex