Great question. I wish I had space and time to cover that in the article.
Rendezvous is really two different technologies that play together to one common goal: a zero configuration network. It handles both IP allocation and naming services plus service discovery.
Jini, on the other hand, is focused on service discovery. Jini relies on a properly configured IP network (which one can use Rendezvous to accomplish).
Another difference between Jini and Rendezvous is that Rendezvous does not attempt to cover anything about the protocol used the by the services and the clients. Once the service is discovered via Rendezvous, the client must know how to communicate with that service.
Jini, however, solves this problem by making the protocol transparent to the client. Once a client discovers a service via Jini, it receives a service proxy. This service proxy itself implements the protocol between client and server. This way, the client only needs to know how to use the Java interface exposed by the service proxy. How the proxy commicates back to the service is hidden from the client.
Plus, Rendezvous service discovery can be accomplished by many different client implementations in many different languages. AFAIK, to participate in Jini networks the client must be Java. This might not be technically true, but I haven't ever seen a non-Java Jini service.
Now, JXTA is supposed to have different implementations in different languages. From what I can tell, though, the Java implementation is by far the most active port.