Now blogging at diego's weblog. See you over there!

location and services


(Now to change the topic from all that email-related whining...) Jamie has an excellent entry comparing the differences between JXTA and Jabber. Choice quote:

The key thing JXTA can do which Jabber can't, is Discovery (Jabber browsing and any other Jabber discovery specs aren't really up to the task as far as I can see). But then Jabber has presence information, permanent user addresses and the facilities to handle 1 user, multiple devices, all of which would have to be built on top of JXTA.
Okay, since this is what my research is on ;-) I wanted to add my 2c about this topic. What Jamie refers to as Discovery is more generally considered to be part of Resource Location and Discovery which is a huge area that covers everything from DNS to LDAP to other seemingly unrelated stuff like Mobile IP (consider that a MobileIP node has a home address, and essentially systems that want to connect to the mobile node have to use that home address as a sort of mini-dynamically updated location server to find the node). Discovery implies finding resources that match certain characteristics, which might then require an additional step to locate them. Typical case of discovery is finding a printer in your immediate vicinity. One you've found the name, a location service of some sort will be used to connect to it.

Now, in that sense, Jabber does not have discovery, unless you count some kind of centralized directory of Jabber users as a source for discovering Jabber IDs, but it does provide location. JXTA, on the other hand, due to its nature allows discovery of services.

But, I think that was Jamie was referring to as "JXTA has discovery" (since he was talking about it in the context of ad hoc networks) was actually the potential of JXTA to perform self-organizing location (it can do discovery too, but that's another matter--and, Jamie, corrections welcome if I got it wrong :)). Consider that an ad hoc network might not be connected to the Internet. Then there's no fixed infrastructure available (to, say, talk to a Jabber server) and Jabber clients in an ad hoc environment won't be able to find each other. JXTA on the other hand works perfectly well. JXTA is "blowing up" the location service that Jabber provides on servers, making it work in self-organizing fashion.

Then there's the problem of routing. Once you've located the client you want to talk to, you want to connect to it to communicate, request tasks, etc. With Jabber, this happens over TCP/IP, which is simple and well understood. JXTA adds another layer on top of TCP/IP. This additional layer may or may not be written using a direct TCP/IP channel: the routing could be happening across the JXTA network itself. And that is a problem in some situations.

It's only a terminology mismatch between what's in my head and what Jamie was saying though, as his conclusions hit the mark: JXTA is good for location/discovery, particularly in ad hoc environments. But if you're on the Internet, or if you have access to fixed infrastructure, a centralized system like Jabber is probably the way to go. And, in all cases, it's uncommon that anyone will want to do routing over anything but the logical transport, such as TCP/IP or, in the case of wireless ad hoc, maybe DSR or AODV.

Plus: unrelated-- Jamie mentions a Slashdot discussion on the relevance of PhDs, and how they might affect job opportunities. Surprinsingly enough, the discussion is actually relatively civil (for /. that is). The idea that a PhD hurts your employment opportunities sounds just plain silly to me. Ethernet created a multibillion dollar industry, and quite literally changed our lives. For more recent developments, consider that REST was also the product of a PhD thesis.

There are people who fall on a PhD since they have no idea of what else to do, and that's lame. Any kind of multi-year commitment to something like that should imply that it's something that you really want to do, rather than doing it because it gives you status or because society saysut areas that interested me, and, if I could, create something new that could at so, or whatever (I feel the same way about any third-level education, btw). As for me, I got into it because I really wanted to do it, I wanted to create something new and learn about the "really bleeding edge" in the process. As far as I'm concerned, the same thing can be achieved in other ways. It's just a matter of which way seems right at a particular moment. (Very new-wavey kind of idea, I know. Heh).

Categories: soft.dev
Posted by diego on August 20 2003 at 7:57 PM

Copyright © Diego Doval 2002-2011.
Powered by
Movable Type 4.37