Programming Jabber
Jabber was first conceived by Jeremie Miller (pic) in early 1998 in an effort to unify the disparate instant messaging networks. Instant Messaging networks rely on the network effect to gain and retain marketshare. The concept is the same when applied to any sort of participatory network whether it's a junk exchange, or content exchange, the value of the network increases with the square of the number of participants.
If this is true, then doesn't it follow that it is in the best interests of the IM networks to establish peering agreements with each other so that their users can directly contact users on other networks without having to install each client?
Hello, Jabber.
When I first picked up this book, I expected to understand the Jabber protocol in sufficient depth to implement my own IM client. Instead, the approach this book takes is that Jabber isn't just an XML-based protocol strictly for IM, rather it is a general purpose event notification protocol that has some very nice message routing and user management features built into it. While i was reading about the messages that Jabber has defined as part of the protocol, I could easily see other applications/devices generating Jabber messages to notify subscribers (either other systems, or people) of events.
Part 1 of the book focuses on getting you up to speed on the basics of Jabber technology: motivation, major features, XML protocol sample and compiling/configuring your own Jabber server. Chapter 2 presents the "10,000 foot view" of Jabber technology. In here you will find a sample client-query request/response flow with full HTTP headers, discussed step by step. The next two chapters are a very in-depth discussion of installing and configuring your own Jabber server. When you dive into a custom configuration of a fleet of Jabber servers (a "constellation" in Jabber terminology), it really starts to hit home that the real problem Jabber solves is far deeper than just IM.
From there, part 2 kicks off with a detailed discussion of the most basic building blocks of Jabber technology: resource identifiers, XML handling mechanism and the set of XML elements/attributes that make up the vocabulary of the Jabber protocol. Each element/attribute is presented with an annotated example and sample client/server interactions where appropriate. Examples can make or break a technical book, and these examples do a good job of illustrating how the element/attribute is used.
The following chapters take you through using standard Jabber features, user registration/authorization, messages, presence, groupchat, components and the event model to enable new applications. One very interesting application presented is enabling developers to receive CVS commit notifications via Jabber.
What's Bad?I know the /. community is suspicious of glowing book reviews where everything is wonderful and nothing could be done to improve the book, so I'll nitpick. My major problem with this book is that the overwhelming majority of the sample applications are written in PERL/TK. This isn't a problem in and of itself, but I'm not a PERL/TK developer. If I build a Jabber solution, it will be in java, so PERL/TK samples don't do me a lot of good. I think equal time should be given to implementing Jabber using the two most-used languages, as defined by the number and activity of open source projects using Jabber technology.
What's Good?This book covers everything relevant to Jabber technology, from lowest level inner workings and extensibility examples for developers to configuration and deployment for admins. Most of the book is spent looking directly at the Jabber XML protocol, instead of a specific API implementation. This way, the book covers the technology and doesn't get lost in how one particular API models the protocol.
So What's In It For Me?If you want to implement an inside-the-firewall IM solution for your company/group/tribe or investigate integrating event notification into an application, this is a great starting point. If you're just curious about Jabber and want to know how it works, then this will give you enough information to get you hooked.
Table of ContentsPART 1: Getting Started with Jabber
- Chapter 1. Introducing Jabber
- Chapter 2. Inside Jabber
- Chapter 3. Installing the Jabber Server
- Chapter 4. Server Architecture and Configuration
PART 2: Putting Jabber's Concepts to Work
- Chapter 5. Jabber Technology Basics
- Chapter 6. Jabber Namespaces
- Chapter 7. User Registration and Authorization
- Chapter 8. Using Messages and Presence
- Chapter 9. Groupchat, Components, and Event Models
- Chapter 10. Pointers for Further Development
Appendix A. The Jabber.xml Contents
Appendix B. The IQRPC Classes for JabberRPCResponder
Index
O'Reilly has posted other reviews of the book on their site. You can purchase Programming Jabber from bn.com. Want to see your own review here? Just read the book review guidelines, then use Slashdot's handy submission form.
First post and, FIRST POST.
you are not worthy. wait, I not worthy.
When the blackbird in the spring,
On the willow tree,
Sat and rocked, I heard him sing,
Singing Aura Lee
Aura Lee, Aura Lee,
Maid of golden hair;
Sunshine came along with thee,
And swallows in the air.
Chorus
In thy blush the rose was born,
Music when you spake,
Through thine azure eye the morn,
Sparkling seemed to break.
Aura Lee, Aura Lee,
Bird of crimson wing,
Never song have sung to me,
In that sweet spring.
Chorus
Aura Lee! The bird may flee,
The willows golden hair
Swing through winter fitfully,
On the stormy air.
Yet if thy blue eyes I see,
Gloom will soon depart;
For to me, sweet Aura Lee
Is sunshine through the heart.
Chorus
When the mistletoe was green,
Midst the winter's snows,
Sunshine in thy face was seen,
Kissing lips of rose.
Aura Lee, Aura Lee,
Take my golden ring;
Love and light return with thee,
And swallows with the spring.
Chorus
Chorus: Aura Lee, Aura Lee,
Maid of golden hair;
Sunshine came along with three,
And swallows in the air.
"This is my 'possessed by demons from hell' look"
nm
in a word, NoFuckingWayYouFuckwittedTroll!
Fr0st piss
When Crackhead Moderators Attack.
In other news:
Slashdot's scientists have announced a proof of the Taco/Neal theorem - a long-standing theory which asserts that UIDs are inversely proportional to the jadedness of their owner.
A forthcoming study, based upon the relationship between high UIDs and the horrific disorder in humans known as 'trollism', is expected to be released by the same group later this week.
:)
Jewish is not a race dumbass, it's a religion.
Just because they were given a country after the second world war doesn't mean that they are a race. The English forked from the curch to form the Church of England, that doesn't make them a race (because they have their own religion and country).